我在替换公共文件夹上的已上传文件时遇到问题。每次尝试从公用文件夹加载文件时,总是会出现404错误。
所有关于文件上载的测试都顺利通过,可以加载文件,文件存在于数据库和公用文件夹中,创建了符号链接,但是我无法显示公用文件夹中的内容。
代码的主要部分:
uploaderController.php
$path = $request->file( 'userfile' )->store( 'logos', 'public' );
在此之后的文件夹:
/storage/app/public/logos/file.ext
使用刀片模板中的文件:
<img src="{{ asset( $model->image_path ) }}" />
来自浏览器的响应 404-找不到页面
有关服务器文件夹的更多信息:
/public/storage - this is the symlink to the public folder 777 permission
/storage/app/public - the storage public folder 775 permission
/storage/app/public/logos - the logo folder 755 permission
/storage/app/public/logos/file.ext - the file 644 permission
我尝试将文件权限更改为775,但始终为404
如何解决此问题? 谢谢
[编辑] 我发现与可以查看公共文件的另一台服务器不同。当ls -l </ p>时,该服务器中的符号链接具有绿色背景。
答案 0 :(得分:0)
此问题的解决方案是在uploaderController.php中,当您保存上传文件的路径时,必须在“ storage”文件夹之前。
uploaderController.php
subject = new Subject()
constructor() {
this.subject.pipe(
map((searchText) => searchText.trim().toLowerCase()),
filter(text => text.length > 2),
debounceTime(10),
distinctUntilChanged(),
switchMap(searchText => this.locationService.getCitiesList(searchText))
).subscribe(response => {
this.dataListOption = response.cities.map(city => city.name);
});
}
keyup(text) {
this.subject.next(text)
}