2017-02-17 59 views
0
function UpdateUserDetails() 
{ 
    var title = $("#title1").val(); 
    var store = $(".search-box").val(); 
    var category= $("#category").val(); 
    var descp=$("#descp1").val(); 
    var price=$("#price1").val(); 
    var value=$("#value1").val(); 
    var location=$("#location1").val(); 
    var url=$("#url1").val(); 
    var id = $("#hidden_user_id").val(); 

    $.post("update.php", { 
     id: id, 
     title:title, 
     store:store, 
     category:category, 
     descp:descp, 
     price:price, 
     value:value, 
     location:location, 
     url:url 

    }, 
    function (data, status) { 
     $("#update_user_modal").modal("hide"); 
    } 
); 
} 

以上是我的代碼,它從html表單中提取值,然後發送到update.php文件。我如何通過這個函數發送一個圖像文件以及所有的變量?我應該把它作爲文件本身還是通過編碼來發送?幫幫我!!如何通過ajax將圖像從html傳遞到php

+0

可能的[jQuery Ajax File Upload]重複(http://stackoverflow.com/questions/2320069/jquery-ajax-file-upload) – roberto06

+0

嘗試按字節數組搜索ajax,確定存在某些東西。 –

+0

可以用樣本圖像變量編輯上面的代碼嗎? @ roberto06 – SUNIL

回答

0

非常基本的做法是:

  1. 轉換圖像的base64數據How to convert image into base64 string using javascript
  2. 通過AJAX發送它作爲字符串,並在服務器端只是base64_decode($b64Image)並保存原始數據文件

但不要忘記設置post_max_sizephp.ini和/或在Nginx body_size(我忘了它是如何命名的)

0

你可以使用FormData通過ajax將文件傳遞到你的php文件。例如:

$(':file').change(function() { 
var data = new FormData(); 
jQuery.each(jQuery(':file')[0].files, function(i, file) { 
    data.append('file[]', file); 
}); 

然後你就可以通過AJAX發送:

jQuery.ajax({ 
    url: 'your url', 
    data: data, 
    cache: false, 
    dataType: 'json', 
    contentType: false, 
    processData: false, 
    type: 'POST', 
    success: function(data){ 
     //your code 
    } 
}); 

現在你可以把這些文件像$ _FILES在你的PHP [ '文件']數組。