YUI Uploader をテストするために、非常に単純なプロトタイプをセットアップしました。(フラッシュ バージョン) ファイルは、単純な Ajax 応答を送信しているサーバーに送信されます。ただし、トリガーされるイベントはfileselect
とだけuploadstart
です。uploadcomplete
、uploaderror
、およびuploadprogress
はトリガーされません。これは YUI 3.5.1 の場合です。
HTMLとJS
<!DOCTYPE html>
<html>
<head>
<title>Uploader Bizness</title>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js"></script>
</head>
<body>
<div id="upload"></div>
<div id="progress"></div>
<script>
'use strict';
YUI().use('uploader', 'uploader-flash', function (Y) {
Y.Uploader = Y.UploaderFlash;
var uploader = new Y.Uploader({
width: '150px',
height: '40px',
swfURL: '/flashuploader.swf'
}).render('#upload');
uploader.on('fileselect', function (G) {
var firstFile = G.fileList[0];
uploader.upload(firstFile, 'http://localhost:28107/home/upload', { postvar1: 'foo', postvar2: 'bar' });
});
uploader.on('uploadstart', function () {
console.log('Upload started');
});
uploader.on('uploadcomplete', function (e) {
console.log('Upload completed successfully', e);
});
uploader.on('uploaderror', function (e) {
console.log('Upload error', e);
});
uploader.on('uploadprogress', function (file, bytesloaded, bytesTotal, percentLoaded, e) {
$('#progess').html(percentLoaded);
});
});
</script>
</body>
</html>
サーバー側コード
public JsonResult Upload()
{
var result = new JsonResult();
result.Data = new {message = "great success"};
return result;
}
ここで何が間違っていますか?