2016-03-23 117 views
1

此代碼摘自AJAX Image upload using PHP我已將代碼複製到這些文件中:index.html,style.css,script.js,ajax_php_file.php和下載的NoImage.jpg。然後,我從我的電腦中選擇了該圖像,並且客戶端上的照片已更改爲所選圖像。然後我點擊上傳,沒有文件上傳到php腳本被調用的文件夾中。經過Firefox 32 Firebug控制檯測試,沒有錯誤報告。我也試過這與Jquery 2.2.2錯誤告訴我,e.preventDefault();被刪除。因此你能告訴我代碼有什麼問題嗎?它不會在Opera中上傳。我發現在腳本的原始頁面上有更多的ppl問這個問題,但答案沒有迴應。爲什麼jQuery圖像上傳不上傳圖像

我試過這個代碼$("#uploadimage").submit();後加reader.readAsDataURL(this.files[0]);,這也沒有幫助。

然而,活生生的例子在這裏: http://kod.djpw.cz/vpvb

然而,一個從控制檯代碼。如果我編輯此功能:

function imageIsLoaded(e) { 
    $("#file").css("color","green"); 
    console.log($("#file")); 
    $('#image_preview').css("display", "block"); 
    console.log($('#image_preview')); 
    $('#previewing').attr('src', e.target.result); 
    console.log($('#previewing')); 
    $('#previewing').attr('width', '250px'); 
    $('#previewing').attr('height', '230px'); 
    }; 

我看到這一點:

Object { 0: <input#file>, length: 1, context: HTMLDocument → index.html, selector: "#file" } script.js:45 
Object { 0: <div#image_preview>, length: 1, context: HTMLDocument → index.html, selector: "#image_preview" } script.js:47 
Object { 0: <img#previewing>, length: 1, context: HTMLDocument → index.html, selector: "#previewing" } script.js:49 

回答

0

我被解決了JS所佔據,並沒有意識到上傳必須由ajax_php_file.php固定在服務器端。當我在代碼挖我看行

if (file_exists("upload/" . $_FILES["file"]["name"])) { 
    echo $_FILES["file"]["name"] . " <span id='invalid'><b>already exists.</b></span> "; 

所以這意味着我需要在同一文件夾作爲PHP腳本的位置創建「上傳」文件夾。這是一個簡單的修復,但它不在原始代碼描述中。