ソースを参照

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 年 前
コミット
6e75d87707
1 ファイル変更8 行追加3 行削除
  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];