我在项目中使用blueimp fileupload基本插件。这一切在Safari,Firefox,Chrome中运行良好,但Internet Explorer 9及以下版本存在问题:
启动回调被调用,在开发人员工具的网络选项卡中,我看到正在执行的ajax调用。但是文件永远不会被上传(我也在服务器上检查过),并且调用最终会在408请求超时时结束。
关于可能是什么原因的任何暗示?
以下是我的相关代码部分:
<input class="input-file" id="fileupload" name="files[]" data-url="/app_dev.php/backend/ajax/upload/wish/1850cf918a43d42" type="file">
<script type="text/javascript" src="js/jquery/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="js/uploader/vendor/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/uploader/jquery.fileupload.js"></script>
<script type="text/javascript" src="js/uploader/jquery.iframe-transport.js"></script>
<script>
$(document).ready(function() {
$('#fileupload').fileupload({
dataType: 'json',
dropZone: null,
start: function (e, data){
console.log('start'); //fires in all browsers = fine
},
progress: function (e, data){
console.log('progress'); //fires in Safari, FF, Chrome = fine
},
done: function (e, data) {
console.log('done'); //never getting here in IE cause file doesn't get uploaded.
}
});
</script>
答案 0 :(得分:3)
问题已解决!
有两个问题。一个与本地网络设置有关。
另一个是实现内容类型协商的正确处理。有关详细信息,请参阅https://github.com/blueimp/jQuery-File-Upload/wiki/Setup。
答案 1 :(得分:0)
只是我的5¢:
我很难用漂亮的链接工作!转储完全空了!
var_dump($_FILES);
var_dump($_POST);
var_dump($_GET);
所以:
$('#fileupload').fileupload({
url: 'http://code.dev/products/postUpload' // <--- remove trailing slash!!!
});