我已将constructor(private activatedRoute: ActivatedRoute) {}
replacePrarm(projectId) {
// get current url
const url = this.router.url;
// get current params
this.activatedRoute.params.subscribe((params: Params) => {
if(params['projectId'] && params['userId']) {
router.navigate(projectId, 'users', params['userId'], 'profile'], {relativeTo: route});
} else if (url[url.length - 1] === 'o') {
router.navigate(projectId, 'info'], {relativeTo: route});
} else if (url[url.length - 1] === 's') {
router.navigate(projectId, 'users'], {relativeTo: route});
}
});
}
提供给我的777 permission
文件夹。 images
也保存了所有图像记录。我将在这里附上table:Charts Table
结构。
charts
答案 0 :(得分:1)
尝试将目标路径从相对路径更改为绝对路径
public function store(Request $request)
{
$input = $request->all();
$tradeID= Auth::user()->trade()->create($input);
if($file = $request->file('file'))
{
$name = time() . $file->getClientOriginalName();
$file->move( public_path() . '/images/', $name); // absolute destination path
$photo = Chart::create(['file'=>$name]);
$input['photo_id'] = $photo->id;
}
$tradeID->chart()->create($input);
}
答案 1 :(得分:0)
您是否尝试移动上传的文件或现有文件?
要移动您需要执行的文件:
File::move($oldPath, $newPath);
旧路径和新路径应包含带文件名(和扩展名)的完整路径
要存储您需要执行的上传文件:
Storage::disk('diskname')->put($newPath, File::get($file));
新路径是带文件名(和扩展名)的完整路径。
Storage::put()
.. config/filesystems.php
File::get($file)
,$file
是来自帖子请求$file = $request->file('file')
的输入,基本上它会获取上传文件的内容。
UPD#1
好的,你可以这样做:
$request->file('file')->store(public_path('images'));
或使用Storage class:
// get uploaded file
$file = $request->file('file');
// returns the original file name.
$original = $file->getClientOriginalName();
// get filename with extension like demo.php
$filename = pathinfo($original)['basename'];
// get public path to images folder
$path = public_path('images');
// concat public path with filename
$filePath = $path.'/'.$filename;
// store uploaded file to path
$store = Storage::put($filePath, File::get($file));
答案 2 :(得分:0)
试试这个
if($file = $request->file('file'))
{
$name = time() . $file->getClientOriginalName();
$path = $file->storeAs('images', $name,'public');
$photo = Chart::create(['file'=>$name]);
$input['photo_id'] = $photo->id;
}
您可以使用/storage/public/file_name
或/file_name
来检索文件,具体取决于您告诉laravel存储公共文件的位置
答案 3 :(得分:0)
您实际上并未存储该文件,实际上您正在移动一个不存在的文件。
您可能会考虑什么 您,很可能想要从公共路径访问上传的文件。如果是这样,您应该将此文件存储到存储目录中的特定文件夹,并在公共路径中创建该目录的符号链接。 这是一个例子:
Storage::disks('public')->put($filename, $uploadedFile); // filename = 'images/imageFile.jpg'
这会在storage/app/public/images
目录中创建一个文件。
然后,您可以创建一个符号链接,laravel提供一个简单的命令来执行此操作。
php artisan storage:link
这会为您的公共磁盘创建一个符号链接。
然后,您可以访问http://your-site-server/storage/images/imageFile.jpg
希望它有所帮助。
答案 4 :(得分:0)
$name = time().'.'. $file->getClientOriginalName(); //depends on ur requirement
$file->move(public_path('images'), $name);