Laravel集成FilePond时本地正常,线上Revert功能失效
Laravel + FilePond 线上环境Revert删除功能异常问题
本地测试时,基于Laravel开发的网站中FilePond相关功能运行正常,但部署到线上服务器后,Revert删除功能出现异常。
Edit Blade JS代码
<script> // Register the plugin with FilePond FilePond.registerPlugin( FilePondPluginMediaPreview, FilePondPluginImagePreview, FilePondPluginFileValidateType, FilePondPluginFileValidateSize, FilePondPluginFilePoster ); const inputElement1 = document.querySelector('input[id="card_image_id"]'); const inputElement2 = document.querySelector('input[id="video"]'); const workimages = document.querySelector('input[id="workimages"]'); const pond1 = FilePond.create(inputElement1, { acceptedFileTypes: ['image/*'], fileValidateTypeDetectType: true, maxFileSize: 10000000, //10 mbs max size allowFileSizeValidation: true, onaddfilestart: (file) => { isLoadingCheck(); }, onprocessfile: (files) => { isLoadingCheck(); }, }); const pond2 = FilePond.create(inputElement2, { acceptedFileTypes: ['video/*'], fileValidateTypeDetectType: true, maxFileSize: 35000000, //35 mbs max size allowFileSizeValidation: true, onaddfilestart: (file) => { isLoadingCheck(); }, onprocessfile: (files) => { isLoadingCheck(); }, }); const pond3 = FilePond.create(workimages, { acceptedFileTypes: ['image/*'], fileValidateTypeDetectType: true, maxFileSize: 10000000, //10 mbs max size allowFileSizeValidation: true, onaddfilestart: (file) => { isLoadingCheck(); }, onprocessfile: (files) => { isLoadingCheck(); }, }); FilePond.setOptions({ server: { process: '/tempupload', revert: '/tempdelete/{{ $fileid }}', // fetch: '/tempfetch', headers: { 'X-CSRF-TOKEN': '{{ csrf_token() }}', 'work_id': '{{ $work->id }}' }, }, }); </script>
Web路由代码
Route::delete('tempdelete', [WorkController::class, 'tempdelete'])->name('tempdelete');
Controller代码
public function tempdelete() { $this->WorkService->tempdelete(); return response()->json(null, 204); }
Service代码
public function tempdelete() { $work_id = (request()->header('work-id')); $temporaryfile = TemporaryFile::where('fid', request()->getContent())->first(); if ($temporaryfile) { $filesexist_in_workimages = Workimage::where([ 'size' => $temporaryfile->size, 'name' => $temporaryfile->filename, 'work_id' => $work_id, ])->first(); if (isset($filesexist_in_workimages)) { if (File::exists($filesexist_in_workimages->folder)) { File::delete($filesexist_in_workimages->folder); } $filesexist_in_workimages->delete(); } if (isset($temporaryfile->folder)) { if (File::exists($temporaryfile->folder . $temporaryfile->filename)) { File::delete($temporaryfile->folder . $temporaryfile->filename); } } $temporaryfile->delete(); } }
线上错误信息
- 控制台报错:
DELETE http://brokenclient1.000webhostapp.com/tempdelete net::ERR_EMPTY_RESPONSE
- 网络请求提示:
Failed to load response, No data found for source with given identifier
- 调试情况:在Controller或Service中使用
dd()调试无任何输出。
内容的提问来源于stack exchange,提问作者saqib javed
相关产品推荐
相关产品推荐

