【发布时间】:2019-01-14 00:06:48
【问题描述】:
我正在尝试从上传到我的服务器的 FormData 对象中获取原始文件名,但我终生无法弄清楚如何访问它。
我的 js/ajax 是这样的:
function AjaxFileUpload(files, progressBar, target, id, imageContainer){
//Creates a formdata object for the upload, appends a CSRF token, the file itself and its respective name
var formData = new FormData;
formData.append('_token', CSRF_TOKEN);
formData.append('target', target);
formData.append('id', id)
for(var i = 0; i < files.length; i++){
formData.append(files[i].name, files[i]);
}
$.ajax({
url: '/upload',
type: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false,
它在服务器端使用我的上传控制器进行处理,如下所示:
public function upload(Request $request){
$arr = [];
foreach($request->all() as $file){
if(is_file($file)){
//$file_type = mime_content_type($file);
$size = filesize($file);
$ext = $file->guessExtension();
//Do some stuff
代码运行良好,但我不知道如何在 PHP 端获取文件名。
【问题讨论】:
-
您是否允许动态字段名称或其他内容?您应该使用 $request->file() 来获取文件对象。
标签: php jquery ajax laravel upload