尝试上传一个文件使用ajax文件上传,但在损坏的PHP ajax jquery

时间:2015-09-19 08:41:22

标签: php jquery ajax zend-framework

我正在尝试使用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 photo viewer无法打开此图片,因为该文件似乎已损坏,已损坏或过大。

请指导。

1 个答案:

答案 0 :(得分: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/