2015-09-19 39 views
0

我想上傳一個文件使用PHP ajax jquery文件上傳,但在損壞的格式,我怎麼能使它正確。試圖上傳一個文件使用ajax文件上傳,但在損壞的php ajax jquery

在我的控制器

我使用

$product_image = $request->getParam("product_image"); 

      defined('PUBLIC_PATH') || define('PUBLIC_PATH', realpath(dirname(dirname(dirname(dirname(dirname(__FILE__))))))); 
      $filename = time() . rand(10000, 99999) . ".jpg"; 
      file_put_contents(PUBLIC_PATH . "/public_html/product_images/" . $filename, base64_decode($product_image)); 

$products->__set("product_image", $filename); 

$data = array(
"product_image" => $this->view->baseUrl() . "/product_images/" . $filename, 
); 

在AJAX文件

var p_image = $('#product_image').val(); 

$.ajax({ 


     type: "POST", 
     url: '<?php echo $this->baseUrl(); ?>/api/products/add', 
     data : {product_image:p_image}, 
       dataType: 'json', 
     success: function(response){ 

      if (response.data.product_id == true) { 
      alert("Success"); 

         alert(response.data.product_image); 

獲取上傳文件的內容是

Windows照片查看器無法打開此圖片,因爲該文件似乎已損壞,損壞或太大。

請指導。

+0

你能否提供更多的信息?它是如何腐敗,你有任何錯誤? – Bono

+0

不,我得到沒有錯誤文件上傳到我的文件夾,但是當我打開該圖像時,它沒有任何內容 – user4464505

+0

Windows照片查看器無法打開此圖片,因爲文件看起來已損壞,損壞或太大 – user4464505

回答

0

在文本編輯器(如記事本)中打開照片文件,您會發現它可能包含p_image的字符串值。更具體地說,你實際上並沒有上傳任何東西。我建議使用類似jQuery的ajaxForm來上傳ajax。

$('#myForm').ajaxForm(function() { 
     alert("Form is submitted"); 
}); 

教程:

http://hayageek.com/ajax-file-upload-jquery/

文檔:

http://malsup.com/jquery/form/