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
ます。phpからのエラーがあることをアップロードを盗むためのインジケーターがないことは私には奇妙に思えます。
トリガーする唯一の方法onUploadError
は、エコーする前に200以外のhttpヘッダーを設定することです。ただし、onUploadError
関数の引数errorCode
、、errorMsg
はerrorString
httpコードであり、エコーコンテンツ(エラーメッセージ)は失われます。
更新
質問のタイトルを変更して、解決しようとしていた実際の問題を説明しました。そして私はそれ以来解決策を見つけました。