asp.netアプリケーションでビデオとオーディオファイルをアップロードするためのpluploadajaxアップローダーを実装しました。ランタイムとしてFlashを使用するIE(9.0でテスト)を除く他のすべてのブラウザーで正常に動作します。
これは、ランタイムとしてフラッシュを使用したときにIEで受信したスクリーンショットです。
これが私が使用しているサンプルコードです。
var uploader = new plupload.Uploader({
runtimes: 'gears,html5,flash,silverlight,browserplus',
browse_button: 'MC_uploader_v31_pickfiles',
container: 'container',
max_file_size: '1000mb',
url: 'http://localhost/vuploader/videos/upload/upload.ashx',
flash_swf_url: 'http://localhost/vuploader/plupload/js/plupload.flash.swf',
silverlight_xap_url: 'http://localhost/vuploader/plupload/js/plupload.silverlight.xap',
//chunk_size: '4mb',
//unique_names: true,
filters: [
{ title: 'Media Files', extensions: 'mp4,wmv,mpeg,mpg,flv,avi,rm,mov,m4v,dv,ogg,ogv,webm'}],
headers: { UName: '', MTP: '0' }
});
これがアップロードハンドラのコードサンプルです。
int chunk = context.Request["chunk"] != null ? int.Parse(context.Request["chunk"]) : 0;
string fileName = context.Request["name"] != null ? context.Request["name"] : string.Empty;
HttpPostedFile fileUpload = context.Request.Files[0];
using (var fs = new FileStream(Path.Combine(uploadPath, fileName), chunk == 0 ? FileMode.Create : FileMode.Append))
{
var buffer = new byte[fileUpload.InputStream.Length];
fileUpload.InputStream.Read(buffer, 0, buffer.Length);
fs.Write(buffer, 0, buffer.Length);
}
IEを除くすべてのブラウザで正常に動作するコード。誰かがこの問題の原因となるものを助けることができますか?