【发布时间】:2020-01-03 14:52:48
【问题描述】:
我在 Vue 中使用文件上传插件通过 API 上传一些图像和 pdf 文件,并且在上传文件时可以选择 create a blob field。
发送给 Laravel 的请求如下。我可以通过在浏览器上复制和粘贴 URL 从浏览器访问 Blob。
在服务器端代码上,我尝试使用以下代码保存文件,但保存的文件是一些损坏的 64 字节文件,而不是实际图像。我们如何将 blob 作为普通文件存储在文件系统中?
if ($request->has('files')) {
$files = $request->get('files');
$urls = [];
foreach ($files as $file) {
$filename = 'files/' . $file['name'];
// Upload File to s3
Storage::disk('s3')->put($filename, $file['blob']);
Storage::disk('s3')->setVisibility($filename, 'public');
$url = Storage::disk('s3')->url($filename);
$urls[] = $url;
}
return response()->json(['urls' => $urls]);
}
【问题讨论】: