相关疑难解决方法(0)

Laravel $ request-> file()返回null

在后端使用Laravel尝试上传文件时遇到问题.

问题

Laravel $request->file()方法返回null.

建立

我使用superagent构建了一个AJAX请求,调试了请求,一切似乎都很好.在Content-Length根据我在图像上添加的变化,指示图像已被添加到该请求.该Content-Type也被设置为multipart/form-data.

// request headers
Content-Length:978599
Content-Type:multipart/form-data; 

// request payload
Content-Disposition: form-data; name="files"; filename="item-keymoment.png"
Content-Type: image/png
Run Code Online (Sandbox Code Playgroud)

但是我无法在Laravel中获取该文件.使用$request->file('files')返回NULL,但如果我调试$_FILES数组,我注意到我的文件已上传.

dd($request->file('files'))
// NULL

dd($_FILES);
// array:1 [
//   "files" => array:5 [
//     "name" => "item-keymoment.png"
//     "type" => "image/png"
//     "tmp_name" => "/tmp/phpipbeeM"
//     "error" => 0
//     "size" => 978274
//   ]
// ]

dd($request->files->all())
// []
Run Code Online (Sandbox Code Playgroud)

什么可能导致Laravel忽略该文件?
Content-Type输入文件不是application/octet-stream? …

php file-upload laravel

21
推荐指数
2
解决办法
2万
查看次数

javascript从文件列表中创建文件列表对象

我有一个文件对象列表,如:

var files = [File, File, File]
Run Code Online (Sandbox Code Playgroud)

我想将其转换为:

我有一个文件字段,我想将其files作为FileList对象映射.

var uploading_files = {}
files.forEach(function(file, key) {
    uploading_files[key] = file

})
var uploader = document.getElementById('uploader')
uploader.files = uploading_files

console.log(uploader.files)
Run Code Online (Sandbox Code Playgroud)

但它没有给我FileList反对?如何创建文件列表objecdt?提前致谢..

javascript

11
推荐指数
1
解决办法
2万
查看次数

如何检测不同的File对象是指同一个文件?

<input id='f' name='f' multiple />
Run Code Online (Sandbox Code Playgroud)

我允许用户选择多个文件(来自不同的文件夹)进行上传.我按照此处的描述构建了所选文件的列表.基本上,所选文件的列表保持在INPUT控件之外,并f.files在提交时填充回来.

每次用户选择文件时,所选文件的列表都是从File数组中的对象构建f.files的.

到目前为止,这很好用,除了我无法检测到选中的重复文件.f.files仅包含文件名而不包含完整路径.

URL.createObjectURLFile对象上应用但每次都是不同的URL,即使是相同的文件.

(在Chrome中,change如果连续选择了相同的文件,则上传控件不会触发事件.但这对我来说还不够,因为用户可以选择文件A,然后选择文件B,然后再次文件A.)

如何识别File对象中的重复文件?

javascript

5
推荐指数
1
解决办法
70
查看次数

标签 统计

javascript ×2

file-upload ×1

laravel ×1

php ×1