控制器为两个名称获取一张图像

时间:2019-08-19 15:48:08

标签: laravel image form-data

我要发送带有表单数据的图像,一张用于学生成绩单,另一张用于个人资料图片。但是当我在标题中看到响应时,它会为两个参数显示一张图像。

标记表的HTML代码

<div class="col-md-3 offset-1">
  <input class="form-control" type="file" name="tei" class="tei">
  <label class="control-label">Image</label><i class="bar"></i>
</div>

个人资料图片的HTML代码

<div class="col-md-3 offset-1">
  <input class="form-control" type="file" name="image" >
  <label class="control-label">Image</label><i class="bar"></i>
</div>

用于将图像发送到控制器的jQuery代码

formdata.append('image',$('input[type=file]')[0].files[0]);
formdata.append('tei',$("input[name='tei']")[0].files[0]);

控制器代码

public function studentform(Request $request)
{
    dd($request->all());
}

标题响应

这里的图片用于个人资料图片,tei用作标记表(现在看起来两个名称都具有相同的图片名称)

image" => UploadedFile {#264
    -test: false
    -originalName: "Capture.JPG"
    -mimeType: "image/jpeg"
    -error: 0
"tei" => UploadedFile {#265
    -test: false
    -originalName: "Capture.JPG"
    -mimeType: "image/jpeg"
    -error: 0
    #hashName: null

1 个答案:

答案 0 :(得分:0)

在Javascript代码中,您将在一个图像上附加输入type,在另一个图像上附加输入name,尝试将两个图像都附加输入name

根据您的HTML结构(例如,第一个元素),它将选择错误的图像。

尝试一下:

formdata.append('image', $("input[name='image']")[0].files[0]);  
formdata.append('tei', $("input[name='tei']")[0].files[0]);