我可以上传数据库中的文件

它存储在我的上传文件中。

现在我想在我的show.blade.php中显示它,所以我这样做了,但它不起作用。
<iframe src="/storage/uploads/{{ $file->file_path }}" width="400" height="400"></iframe>因此,我得到了在show.blade.php中找不到的

那么我该如何显示它呢?这是我的FileController.php
class FileUpload extends Controller
{
public function createForm(){
return view('file-upload');
}
public function fileUpload(Request $req){
$req->validate([
'file' => 'required'
]);
$fileModel = new File;
if($req->file()) {
$fileName = time().'_'.$req->file->getClientOriginalName();
$filePath = $req->file('file')->storeAs('uploads', $fileName, 'public');
$fileModel->name = time().'_'.$req->file->getClientOriginalName();
$fileModel->file_path = '/storage/' . $filePath;
$fileModel->save();
return back()
->with('success','File has been uploaded.')
->with('file', $fileName);
}
}
public function show(File $file)
{
// $news=News::find($id);
return view('show',compact('file'));
}
}这是web.php
Route::get('/upload-file', [FileUpload::class, 'createForm']);
Route::post('/upload-file', [FileUpload::class, 'fileUpload'])->name('fileUpload');
Route::get('/uploadshow', [FileUpload::class, 'show']);谢谢
ifream的屏幕短小

发布于 2021-12-03 06:45:00
您需要使用asset()在iframe中放置正确的路径
<iframe src="{{ asset('storage/app/public/uploads/') }}/{{ $file->file_path }}" width="400" height="400"></iframe>发布于 2021-12-03 09:26:43
您可以使用URL方法来获取给定文件的URL。如果您使用的是本地驱动程序,这通常只会将/storage附加到给定的路径,并返回文件的相对URL。如果您使用的是s3驱动程序,将返回完全限定的远程URL:
<iframe src="{{ URL::asset('storage/uploads/'.$file->file_path}}"width="400" height="400"></iframe>https://stackoverflow.com/questions/70210372
复制相似问题