如果要使用Ajax将图像或音频文件上传到服务器,则默认情况下不使用move
方法将文件数据存储在哪里?它在Storage/framework/cache/data
文件夹中吗?
更新
为了进一步详细说明,我想知道,如果我通过ajax上传文件(比如说音频文件),并且在请求进入的控制器功能内部,则是无代码块,只是空白该上传的文件在哪里?
功能示例:
public function processUploadedFile(Request $Request) {
// blank block, no code to affect file
}
答案 0 :(得分:0)
您需要发布使用的移动代码。因此,我们可以进一步了解该问题。
答案 1 :(得分:0)
公用磁盘用于将要公开访问的文件。默认情况下,公用磁盘使用本地驱动程序,并将这些文件存储在storage / app / public中。为了使它们可以从Web上访问,您应该创建一个从public / storage到 storage / app / public 的符号链接。此约定会将您的公共可访问文件保留在一个目录中,当使用零停机时间部署系统(例如Envoyer)时,可以在各个部署之间轻松共享这些文件。
要创建符号链接,可以使用storage:link Artisan命令:
php artisan storage:link
当然,一旦存储了文件并创建了符号链接,就可以使用资产助手创建指向这些文件的URL:
回显资产('storage / file.txt');
利用助手上传文件
在此处https://laravel.com/docs/5.4/filesystem#file-uploads
请标记/赞一下是否有帮助:)
答案 2 :(得分:0)
这真的取决于。但最有可能将其存储在$part2
文件夹中。如果您的用户需要访问上载的文件,则必须将文件存储在storage
中。要访问该文件夹,请执行storage/app/public
,这将创建一个可从php artisan storage:link
文件夹访问的符号链接。
假设我要上传文件文件变量名public
。
avatar
要访问客户端的检索文件,只需调用$path = $request->file('avatar')->store('public/avatars');