这是我的数据,我想存储我的pdf文件在我的公用文件夹。任何人都可以给予我任何想法?我试图foreach的数据,以获得该文件,但它似乎不工作,在我的结束。任何人可以帮助我吗?
dojqjjoe1#
要在公共文件夹中存储文件,可以使用应用程序的文件系统配置文件中包含的公共磁盘,默认配置将文件存储在storage/app/public中。为了使这些文件可以从Web访问(我假设这是您想要的),您需要创建一个从public/storage到storage/app/public的符号链接。为此,只需运行:
storage/app/public
public/storage
php artisan storage:link
一旦你完成了这一步,你就可以使用Laravel的storage facade来与你的公共文件夹中的文件交互,以保存、检索和下载它们。商店
storage
use Illuminate\Support\Facades\Storage; Storage::put('file.jpg', $contents);
下载
return Storage::download('file.jpg'); return Storage::download('file.jpg', $name, $headers);
检索
$contents = Storage::get('file.jpg');
如果您需要将用户上传的文件存储到公共存储中,可以按如下方式操作:
$path = $request->file('yourUploadedPdf')->store('yourPdfsFolder');
Laravel的store方法将为文件名生成一个唯一的ID,扩展名将由上传文件的MIME类型决定。store方法也会返回路径,包括生成的文件名,因此如果需要,您可以将其存储在DB中。如果您需要指定文件名,则可以执行以下操作:
store
$path = $request->file('pdf')->storeAs( 'yourPdfsFolder', 'yourPdfFileName' );
请注意,我假设您将使用public作为默认磁盘,如果没有,则需要指定在这些方法/存储外观调用中使用的磁盘。进一步注意,当使用公共磁盘时,默认情况下,所有内容都存储在storage/app/public下,因此无论何时您定义一个文件夹来存储上传的PDF,它都将是storage/app/public/yourFolder。
public
storage/app/public/yourFolder
1条答案
按热度按时间dojqjjoe1#
要在公共文件夹中存储文件,可以使用应用程序的文件系统配置文件中包含的公共磁盘,默认配置将文件存储在
storage/app/public
中。为了使这些文件可以从Web访问(我假设这是您想要的),您需要创建一个从
public/storage
到storage/app/public
的符号链接。为此,只需运行:
一旦你完成了这一步,你就可以使用Laravel的
storage
facade来与你的公共文件夹中的文件交互,以保存、检索和下载它们。商店
下载
检索
如果您需要将用户上传的文件存储到公共存储中,可以按如下方式操作:
Laravel的
store
方法将为文件名生成一个唯一的ID,扩展名将由上传文件的MIME类型决定。store方法也会返回路径,包括生成的文件名,因此如果需要,您可以将其存储在DB中。如果您需要指定文件名,则可以执行以下操作:
请注意,我假设您将使用
public
作为默认磁盘,如果没有,则需要指定在这些方法/存储外观调用中使用的磁盘。进一步注意,当使用公共磁盘时,默认情况下,所有内容都存储在
storage/app/public
下,因此无论何时您定义一个文件夹来存储上传的PDF,它都将是storage/app/public/yourFolder
。