我试图用Laravel 5.5从本地文件位置导入一个csv文件。由于某种原因,它无法在我的计算机上找到该文件,但路径是正确的。
$fileLocation = $request->file('file')->store('csv'); $importFile = File::file(storage_path('app/' . $fileLocation));
9q78igpj1#
您可以使用Storage facade来实现此操作。下面是一个示例:
Storage
if (Storage::disk($disk)->exists($filename)) { return Storage::disk($disk)->get($filename); } throw new FileNotFoundException(sprintf('File not found: %s', $filename), 404);
2izufjch2#
如果你不想使用Storage facade,你可以使用下面的代码来获取文件
$importFile = Illuminate\Support\Facades\File::get(storage_path('app/' . $fileLocation));
但是当你用csv作为store参数存储一个文件时,它会保存在storage/csv文件夹中,你只需要调用storage_path($fileLocation)。请确保您的存储路径正确,有关详细信息,请参阅此处
storage/csv
storage_path($fileLocation)
wgmfuz8q3#
虽然晚了5年,我还是想回答这个问题。我也遇到了同样的问题,我无法从我的存储中检索PDF文件。在那之后,我意识到我给get函数的路径是错误的。我给了错误的路径get()函数如下:
get()
/app/public/book/example.pdf
正确的路径是:
/public/book/example.pdf
所以:
$filePath = '/public/book/example.pdf'; $file = Storage::get($filePath);
如果文件不存在,get()方法将返回null。if exist()方法将返回false,如果文件不存在。
null
exist()
false
3条答案
按热度按时间9q78igpj1#
您可以使用
Storage
facade来实现此操作。下面是一个示例:2izufjch2#
如果你不想使用
Storage
facade,你可以使用下面的代码来获取文件但是当你用csv作为store参数存储一个文件时,它会保存在
storage/csv
文件夹中,你只需要调用storage_path($fileLocation)
。请确保您的存储路径正确,有关详细信息,请参阅此处
wgmfuz8q3#
虽然晚了5年,我还是想回答这个问题。
我也遇到了同样的问题,我无法从我的存储中检索PDF文件。
在那之后,我意识到我给get函数的路径是错误的。
我给了错误的路径
get()
函数如下:正确的路径是:
所以:
如果文件不存在,
get()
方法将返回null
。if
exist()
方法将返回false
,如果文件不存在。