2014-02-28 22 views
1

我將嘗試不成爲「幫助吸血鬼」,如您在github上引用的文章中所述。 jQuery fileuploader非常漂亮,我想使用它。jQuery fileuploader bluimp未找到錯誤

您的上傳器UI似乎正常工作,但將文件寫入實際服務器的後端部分不斷給我一個錯誤。回顧支持論壇,堆棧溢出和其他許多壁龕,我無法找到解決這個非常常見的問題。

從我的服務器的錯誤日誌的整個錯誤如下:

嘗試服務目錄:/var/www/vhosts/md1network.com/httpdocs/user/profile/my-images/files/,引用者:http://md1network.com/user/profile/my-images/

我已經確信,我的上傳目錄是可寫的,將其具有的權限爲777

這裏是網頁和錯誤控制檯的截圖:

Screenshot

我正在尋找我可以採取的任何故障排除步驟。

我暫時移除了我的源代碼的頁面保護,使任何人都可以嘗試解決我的錯誤:

這裏的鏈接: http://md1network.com/user/profile/my-images/

感謝。 Rick

+0

看來,這個目錄是不可訪問通過瀏覽器http://md1network.com/user/profile/my-images/files/ – Hackerman

+0

該腳本工作正常...加載圖片但失敗的地方上的圖片上選定的目錄...嘗試使用另一個上傳目錄...或者說,apache用戶已經在上傳目錄上燙髮...或者讓我ssh訪問服務器nd我可以修復這個問題xD(只是開個玩笑) – Hackerman

+0

The上傳目錄的權限設置爲777.這是否沒有照顧權限問題?該組是psacln [505],擁有者是admin_md1 [10003],這幾乎是Plesk的默認安裝。 –

回答

2

我剛剛意識到的一個關鍵因素是配置的各個部分。

在main.js文件中,url的部分實際上就是php腳本index.php所在的位置。應該只有該目錄中的文件 - index.php和UploadHandler.php。

如果文件不存在,腳本將自動創建文件目錄,因此應該具有在php目錄上啓用的執行權限和寫入權限,以便可以創建文件目錄。

main.js

// Initialize the jQuery File Upload widget: 
$('#fileupload').fileupload({ 
    // Uncomment the following to send cross-domain cookies: 
    //xhrFields: {withCredentials: true}, 
    url: 'php/' 
}); 

UploadHandler.php

 $this->options = array(
     'script_url' => $this->get_full_url().'/', 
     'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/files/', 
     'upload_url' => $this->get_full_url().'/files/', 
0

我只是有錯誤文件獲取上傳工作後,昨日未發現問題。事實證明,如果你禁用下面的腳本和你使用的代碼開箱即用,它忽略你設置任何選項,並嘗試上傳到domain.com/your-path-/server/php

<!-- Bootstrap JS is not required, but included for the responsive demo navigation --> 
<script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> 
0

我得到了同樣的行爲,我發現「上傳」文件夾是從我的根文件夾獲取htaccess規則,我設置了我需要的特定規則。

所以我需要以某種方式重置整個上傳目錄中的規則。我創建了一個新的。在我的「上傳」文件夾htaccess文件有以下幾點:

RewriteEngine敘述上

<IfModule mod_rewrite.c> 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

這使得它馬上工作!