Przeglądaj źródła

web intf: make sure that all contents are actually downloaded and not played by the browser

the underlying code is prepared to allow playback in browser, too, once the UI is ready
Felix Paul Kühne 11 lat temu
rodzic
commit
6e75d87707
1 zmienionych plików z 8 dodań i 3 usunięć
  1. 8 3
      Sources/VLCHTTPConnection.m

+ 8 - 3
Sources/VLCHTTPConnection.m

@@ -95,7 +95,9 @@
     }
     if ([path hasPrefix:@"/download/"]) {
         NSString *filePath = [[path stringByReplacingOccurrencesOfString:@"/download/" withString:@""]stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
-        return [[HTTPFileResponse alloc] initWithFilePath:filePath forConnection:self];
+        HTTPFileResponse *fileResponse = [[HTTPFileResponse alloc] initWithFilePath:filePath forConnection:self];
+        fileResponse.contentType = @"application/octet-stream";
+        return fileResponse;
     }
     if ([path hasPrefix:@"/thumbnail"]) {
         NSString *filePath = [[path stringByReplacingOccurrencesOfString:@"/thumbnail/" withString:@""]stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
@@ -119,8 +121,11 @@
         else if ([mo isKindOfClass:[MLShowEpisode class]])
             theData = UIImagePNGRepresentation([VLCThumbnailsCache thumbnailForMediaFile:[(MLShowEpisode *)mo files].anyObject]);
 
-        if (theData)
-            return [[HTTPDataResponse alloc] initWithData:theData];
+        if (theData) {
+            HTTPDataResponse *dataResponse = [[HTTPDataResponse alloc] initWithData:theData];
+            dataResponse.contentType = @"image/png";
+            return dataResponse;
+        }
     }
     NSString *filePath = [self filePathForURI:path];
     NSString *documentRoot = [config documentRoot];