我正在使用fileUploader jQuery插件,我通過回顯$ _FILES var來測試它,但是這總是返回空,並且我得到fileUploader的失敗響應。任何想法爲什麼它不提交圖像數據?
謝謝!
我正在使用fileUploader jQuery插件,我通過回顯$ _FILES var來測試它,但是這總是返回空,並且我得到fileUploader的失敗響應。任何想法爲什麼它不提交圖像數據?
謝謝!
大多數服務器塊的第三方srcipts像http://valums.com/ajax-upload/ ..for繞過這一點,你需要這些線路
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
qqFileUPload嘗試使用字節流,而不是發送文件數據添加到您的.htacess文件正常POST。 PHP僅將已發佈的文件放入$ _FILES數組中。
幸運的是,qqFileUploader附帶了抓住特殊上傳並保存到一個文件中爲你的類:https://github.com/valums/file-uploader/blob/master/server/php.php
祝你好運!
PS。我在Symfony上使用這個上傳器,它需要PHP $ noramlly在$ _FILES數組中提供的格式的FILE數組。所以我必須將文件保存到磁盤,並創建一個symfony表單可以接受的假數組條目。這是使用下面的代碼(和我連接到上面的類)完成的:
if ($filename = $request->getParameter('qqfile', false)) {
// XMLHttpRequest stream'd upload
$xhrUpload = new qqUploadedFileXhr();
$tmp_name = 'tmp_creative_'.microtime(true);
$tmp_file = sfConfig::get('sf_upload_dir').'/'.$tmp_name;
$xhrUpload->save($tmp_file);
list($width, $height, $type) = getimagesize($tmp_file);
$file = array(
'type' => $type,
'size' => $xhrUpload->getSize(),
'name' => $filename,
'tmp_name' => $tmp_file
);
} elseif (count($_FILES)) {
// Normal file upload
$file = array_shift($_FILES);
} else {
throw new Exception("Did not receive uploaded file.");
}
$form->bind(array(), $file);
if($filename)
{
// If we saved the file manually, php won't consider it a tmp
// file and we need to delete it ourselves.
unlink($tmp_file);
}
請問您可以提供一個鏈接到您的案例的測試頁面或完整代碼(html/js)嗎? – oryol 2011-05-24 18:29:07