Laravel:通过Ajax发送文件 [英] Laravel: Send files via Ajax

查看:286
本文介绍了Laravel:通过Ajax发送文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Ajax和Laravel上传文件,每次尝试上传文件时,它都会返回空.这是Laravel中的方法:

I'm trying to upload files using Ajax and Laravel, every time I try to upload one it returns empty. This is the method in Laravel:

public function save_vehicles(Request $request){
    $files=$request->file('input_file_vehicles');
    return response()->json(['File: '.$files]);
    \Log::info($files);
}

这是Ajax函数:

var save_vehicles=function(input_file){
  var formData = new FormData();
    formData.append("input_file_vehicles",input_file);
    return $.ajax({
        type: 'GET',
        dataType: 'json',
        processData: false,
        contentType:  false,
        data: formData,
        url: '/save/vehicles'
    });
}

此调用的结果是:

文件:"

"File: "

它返回空.

推荐答案

jquery代码

var save_vehicles=function(input_file){
    var formData = new FormData($('#formElem'));
    return $.ajax({
        type: 'POST',
        dataType: 'json',
        processData: false,
        contentType:  false,
    headers: {
        'X-CSRF-TOKEN': '{{ csrf_token() }}'
    },
        data: formData,
        url: '/save/vehicles'
    });
}

Laravel代码

$destinationPath = 'path/th/save/file/';
$image = $request->file('input_file_vehicles');
$name =  $image->getClientOriginalName();
$extension = $image->getClientOriginalExtension();
$file_name =  $name;
$image->move($destinationPath,$file_name);

这篇关于Laravel:通过Ajax发送文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆