попытка загрузить файл с использованием загруженного файла ajax, но в поврежденном php ajax jquery

Я пытаюсь загрузить файл, используя файл 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,
);

в аякс-файле

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 не может открыть это изображение, так как файл поврежден, поврежден или имеет слишком большой размер.

пожалуйста, направляйте.


person user4464505    schedule 19.09.2015    source источник
comment
Можете ли вы предоставить немного больше информации? Как это повреждено, вы получаете какие-либо ошибки?   -  person Bono    schedule 19.09.2015
comment
Нет, я получаю, что файл с ошибкой не загружается в мою папку, но когда я открываю это изображение, в нем ничего нет.   -  person user4464505    schedule 19.09.2015
comment
Средство просмотра фотографий Windows не может открыть это изображение, потому что файл поврежден, поврежден или имеет слишком большой размер   -  person user4464505    schedule 19.09.2015
comment
realpath(dirname(dirname(dirname(dirname(dirname(__FILE__)))))) Ого!   -  person u_mulder    schedule 19.09.2015
comment
не имеет значения, мне просто нужен загруженный файл, у вас есть идеи?   -  person user4464505    schedule 19.09.2015


Ответы (1)


откройте файл фотографии в текстовом редакторе, таком как Блокнот, и вы обнаружите, что он, вероятно, содержит строковое значение p_image. Точнее, вы на самом деле ничего не загружаете. Я бы рекомендовал использовать что-то вроде ajaxForm jQuery для загрузки с помощью ajax.

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

Руководство:

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

Документация:

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

person Clay    schedule 23.09.2015