在## unlink deletes the temporary file
## on.exit ensures the sink is closed even if
## corenv raises an error.
corenv(..., verbose=FALSE) {
if(verbose) {
sink("tmp.txt")
on.exit(sink(); unlink("tmp.txt"))
}
seewave::corenv(...)
}
中,如果我从表单上传文件,它将存储在自己的存储目录中。然后我应该在公共路径中为该存储路径创建laravel 5.3
。
由于此限制,我无法在我的系统上创建符号链接。如何将文件直接上传到symlink
而不是public/uploads
?
我尝试在storage/app/uploads
中设置路径,但它不起作用。
AppServiceProvider.php
by" not working"我的意思是它仍然上传到默认存储目录。我也清除了缓存。
这是上传部分(在控制器中使用):
public function register()
{
//not working:
$this->app->useStoragePath( $this->app->basePath() . "/upload");
//also not working:
// $this->app->bind('path.storage', function () {
// return $this->app->basePath() . '/upload';
// });
}
感谢任何提示。 :)
答案 0 :(得分:20)
在Laravel 5中,您现在必须在config/filesystems.php
中执行此操作。您可以像这样添加新磁盘:
'disks' => [
'uploads' => [
'driver' => 'local',
'root' => public_path(), // previously storage_path();
],
]
然后执行以下操作:
Storage::disk('uploads')->put('filename', $file_content);