Laravel和DropzoneJS文件上传了不同的扩展名

时间:2018-05-07 13:17:32

标签: laravel laravel-5 amazon-s3 file-upload dropzone.js

我使用Laravel和DropzoneJS创建了一个表单here,我尝试上传一个Gimp文件(.xcf),当它上传时,它将保存在S3中,如下所示

running command: "docker exec -it 5b02ab015730 bash -c "echo Hello, world""
Hello, world

没有“xcf”扩展名只是以点结尾的随机名称。

另外,我创建了一个文本文件,当我尝试上传以.txt扩展名上传的文件时,将其重命名为test.xcf。

这是我处理上传的UploadController.php:

<random-name>.

我不知道为什么会这样做。

2 个答案:

答案 0 :(得分:1)

我建议你为文件名生成自己的哈希值,就像我在这段代码中所做的那样: $file = $request->file('csv'); $path = $file->storeAs( 'csv', md5($file->getClientOriginalName()) . $file->getClientOriginalExtension(), 's3' );

您还可以将uniqid()添加到 md5 输入

答案 1 :(得分:0)

如果你正在使用laravel 5+,那么你也应该使用它来获得扩展名。

$extension = $file->getClientOriginalExtension();

这样可以正常工作。