我正在使用 Uploadify 在 php(codeigniter) 中上传图像。使用 uploadify 包附带的示例 php 文件进行测试。有用。但是,我无法触发 onUploadError。示例 php 代码具有:
if (in_array($file_ext,$fileTypes)) {
$newFileName = mt_rand() . time() . '.' . $file_ext;
$targetFile = rtrim($targetPath,'/') . '/' . $newFileName;
move_uploaded_file($tempFile,$targetFile);
echo $newFileName;
} else {
echo 'Invalid file type.';
}
js很简单,如下:
$('#file_upload').uploadify({
'fileTypeDesc' : 'Image Files',
'fileTypeExts' : '*.gif; *.jpg; *.jpeg; *.png',
'swf' : '/static/uploadify/uploadify.swf',
'uploader' : '/static/uploadify/uploadify.php',
'onUploadError' : function(file, errorCode, errorMsg, errorString) {
console.log('The file ' + file.name + ' errorCode ' + errorCode + ' errorMsg ' + errorMsg + ' errorString ' + errorString);
},
'onUploadSuccess' : function(file, data, response) {
console.log(data);
}
});
当Invalid file type.
回显到前端时。被onUploadSuccess
触发而不是onUploadError
. 对我来说似乎很奇怪,没有迹象表明 uploadify 有来自 php.ini 的错误。
触发的唯一方法onUploadError
是在回显之前设置非 200 http 标头。但是,onUploadError
函数参数errorCode
, errorMsg
,errorString
是 http 代码,并且回显内容(错误消息)会丢失。
更新
我修改了问题标题,所以它说出了我试图解决的真正问题。我已经找到了解决方案。