即时通讯使用我自己的php mvc框架并且已经合并了Valums fileuploader。 它适用于FF,但在IE8(唯一的ie浏览器测试)中,我在提交表单时收到404错误。
从IE中的控制台我得到了这个:
日志:[上传者] iframe已加载
日志:[上传者]将iframe的innerHTML转换为JSON
日志:[上传者] innerHTML = 404
这是我用来调用Valums上传者的Javascript:
$(document).ready(function(){
// Setup the ajax indicator
var uploader = new qq.FileUploader({
element: document.getElementById('file-uploader'),
// url of the server-side upload script, should be on the same domain
action: '/mofo/annonce/upload',
//Only one image
multiple: false,
// additional data to send, name-value pairs
params: {},
// validation
// ex. ['jpg', 'jpeg', 'png', 'gif'] or []
allowedExtensions: ['jpg', 'jpeg', 'png', 'gif', 'bmp'],
// each file size limit in bytes
// this option isn't supported in all browsers
sizeLimit: 10485760, // max size 10MB in bytes
minSizeLimit: 0, // min size
// set to true to output server response to console
debug: true,
// events
// you can return false to abort submit
onSubmit: function(id, fileName){
$('#error').empty().hide();
$('#message').empty().append('<img src="http://localhost/mofo/images/loading.gif"> Uploader billed.').css({'color':'#000', 'font-weight':'normal'}).show();
},
onProgress: function(id, fileName, loaded, total){
},
onComplete: function(id, fileName, responseJSON){
if (responseJSON.success) {
$('#message').empty().append(responseJSON.message).css({'color':'#000', 'font-weight':'normal'}).show();
$('#thumb ul').append('<li><img src="http://localhost/mofo/' + responseJSON.thumbnail + '" /></li>');
} else {
$('#message').empty().append(responseJSON.error).css({'color':'red', 'font-weight':'bold'}).show();
}
},
onCancel: function(id, fileName){},
messages: {
// error messages, see qq.FileUploaderBasic for content
typeError: "Filen: {file} er en ikke tilladt filtype. Kun {extensions} er tilladt.",
sizeError: "Filen: {file} er for stor, maksimum størrelsen er {sizeLimit}.",
minSizeError: "Filen: {file} er for lille, minimum file størrelse er {minSizeLimit}.",
emptyError: "Filen: {file} er tom, vælg en anden fil.",
onLeave: "Filerne er igang med upload, hvis du stopper nu bliver filerne ikke uploadet."
},
showMessage: function(message){
$('#message').empty().append(message).css({'color':'red', 'font-weight':'bold'}).show();
}
});
});
我修改了Valums JS,因此它发送文件参数如下:
var queryString = this._options.action + '/' + params['qqfile'];
希望有人能弄清楚IE为什么会给我404错误。
答案 0 :(得分:0)
404表示资源不是fount。检查您的行动路径是否正确 此外,如果要将文件名传递给服务器,则无需修改源代码。只需将其添加到onSubmit处理程序中的params选项。
onSubmit: function(id, fileName){
this.params.fileName = fileName;
}
然后就像在任何其他参数一样在服务器端检索它。