尝试使用jQuery上传图像

时间:2019-03-22 10:17:15

标签: jquery laravel

有人可以帮助我吗?我正在尝试使用jquery和laravel上传图像,但不知道如何传递数据

Ajax功能

var form_data = new FormData();

form_data.append('file', file_data);
form_data.append('link', link);
form_data.append('comment', comment);
form_data.append('reportid', reportid);

$.ajax({
    url:"{{ route('report.update') }}",
    type:"GET",
    data:form_data,
    contentType:false,
    cache:false,
    processData:false,
    success:function(data) {
        alert(data);
    }
});

路线

Route::get('report-update', ['uses'=>'Executive@reportUpdate', 'as'=>'report.update']);

控制器:

public function reportUpdate(Request $request)
{
    $file = $request->file('file');

    echo $file->getClientOriginalName();
}

3 个答案:

答案 0 :(得分:0)

在您的表单中添加enctype =“ multipart / form-data”

enctype="multipart/form-data"
$.ajax({

    url:"{{ route('report.update') }}",
    type:"POST",
    data:form_data,
    contentType:false,
    processData:false,
    success:function(data){
        alert(data);
    }

});
 Route::POST('report-update', ['uses'=>'Executive@reportUpdate', 'as'=>'report.update']);

答案 1 :(得分:0)

只需尝试

var formData = new FormData($("#formid")[0]);
$.ajax({
   url: "{{ route('report.update') }}",
   type: 'POST',
   dataType: 'JSON',
   data: formData,
   processData: false,
   contentType: false,
   enctype: 'multipart/form-data',
   mimeType: 'multipart/form-data',
   cache: false,
   success: function(data, textStatus, jqXHR) {
       console.log(data)
   }
});

并且使用表格的方法是 POST

答案 2 :(得分:0)

Ajax

 $("#FormId").on('submit', (function(e) {
        e.preventDefault();
        $.ajax({
            url: "{{ route('report.update') }}",
            type: "POST",
            data: new FormData(this),
            contentType: false,
            cache: false,
            processData: false,
            success: function(data) {
            }


        })
    }));

路线

Route::POST('report-update', ['uses'=>'Executive@reportUpdate', 'as'=>'report.update']);

功能

public function reportUpdate(Request $request)
{
    $file = $request->file('file');

    $fileName = time().$request->file('file')->getClientOriginalName();
    $path=$file->move('FolderPath',$fileName);
}