【发布时间】:2020-05-15 09:06:38
【问题描述】:
我正在尝试在 Laravel 6 项目的用户注册期间使用 FilePond 上传个人资料图片。
在我的register.blade.php 我有一个<input type="file" id="profilePicture" name="profile_picture" accept="image/png, image/jpeg, image/gif"> 然后,在我写的文件的底部:
$('input[type="file"]').filepond();
FilePond.setOptions({
server: {
url: '/upload',
method: 'POST',
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
}
}
});
在/routes/web.php我加了:
Route::post('/upload', 'FilepondController@upload');
最后,为了简单起见,只是为了检查上传是否有效,我在/app/Http/Controllers/FilepondController.php 中写道:
class FilepondController extends BaseController
{
public function upload(Request $request)
{
dd($request);
}
}
但应用程序绝不会转储 $request 并死掉......显然通过 FilePont 上传失败。
我也尝试使用Sopamo/laravel-filepond(Laravel FilePond 后端)但没有成功...
怎么了?
【问题讨论】:
-
您是否在浏览器开发人员工具的网络选项卡中看到 POST 上传请求?请注意,FilePond 将文件作为多部分表单数据和 json 字符串(附加到文件的元数据)发布在相同的字段名称下,在本例中为
profile_picture -
我使用 Sopamo/laravel-filepond 解决了这个问题,该 repo 中包含的上传控制器中有一个错误(它是
$file = $request->file('file')[0];但我在$file = $request->files('filepond');中更正了,所以现在我需要发布定制它的包,我尝试了php artisan vendor:publish --provider="Sopamo\LaravelFilepond\LaravelFilepondServiceProvider"GitHub repo 上写的,但我得到了Unable to locate publishable resources.,怎么了?
标签: laravel file-upload filepond