laravel 上的图片上传无法联机
Image upload on laravel doesn't work online
我完成了我的项目,当我将它上传到我的在线服务器时,他们不允许你更改根映射,所以我使用 .htaccess 文件直接访问 public 映射,但是当我提交表单,上传后无法打开图片,在目录中也找不到,这是我的控制器代码
if ($request->hasFile('image')) {
$filenameWithExt = $request->file('image')->getClientOriginalExtension();
$filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
$extension = $request->file('image')->getClientOriginalExtension();
$fileNameToStore = $filename . '_' . time() . '.' . $extension;
$request->file('image')->storeAs('public/images', $fileNameToStore);
} else {
$fileNameToStore = 'noimage.jpg';
}
这是要上传的 Html
<div class="form-group">
<label>Upload foto's</label>
<div class="custom-file">
<input type="file" name="image" class="custom-file-input" id="inputGroupFile01" aria-describedby="inputGroupFileAddon01" multiple>
<label class="custom-file-label" for="inputGroupFile01">Selecteer bestanden</label>
</div>
</div>
这是我的 HTML 展示或下载
<tr>
<th>Foto's</th>
@if( $retour->images === 'noimage.jpg')
<td>Geen foto beschikbaar</td>
@else
<td><a download="retourmelding_{{$retour->firmaname}}"
href="/storage/images/{{$retour->images}}" title="Foto">
<img alt="Foto" src="/storage/images/{{$retour->images}}">
</a>
</td>
@endif
</tr>
这在本地完美,但在网上不行,请帮助我
当您像上面在 href 中指定的那样获取文件时。在本地它可以工作,因为您的本地计算机可以在 href 中呈现 /storage 文件夹路径,但在实时服务器中您需要这样指定:
{{ URL::to('/') }}/images/Whosebug.png
现在检查这个解决方案:
link 您的存储文件夹,通过以下命令:
php artisan storage:link
像这样从 blade 文件访问文件:
<td>
<a download="retourmelding_{{$retour->firmaname}}" href="{{ URL::to('/') }}/public/storage/images/{{$retour->images}}" title="Foto">
<img alt="Foto" src="{{ URL::to('/') }}/public/storage/images/{{$retour->images}}"></a>
</td>
我完成了我的项目,当我将它上传到我的在线服务器时,他们不允许你更改根映射,所以我使用 .htaccess 文件直接访问 public 映射,但是当我提交表单,上传后无法打开图片,在目录中也找不到,这是我的控制器代码
if ($request->hasFile('image')) {
$filenameWithExt = $request->file('image')->getClientOriginalExtension();
$filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
$extension = $request->file('image')->getClientOriginalExtension();
$fileNameToStore = $filename . '_' . time() . '.' . $extension;
$request->file('image')->storeAs('public/images', $fileNameToStore);
} else {
$fileNameToStore = 'noimage.jpg';
}
这是要上传的 Html
<div class="form-group">
<label>Upload foto's</label>
<div class="custom-file">
<input type="file" name="image" class="custom-file-input" id="inputGroupFile01" aria-describedby="inputGroupFileAddon01" multiple>
<label class="custom-file-label" for="inputGroupFile01">Selecteer bestanden</label>
</div>
</div>
这是我的 HTML 展示或下载
<tr>
<th>Foto's</th>
@if( $retour->images === 'noimage.jpg')
<td>Geen foto beschikbaar</td>
@else
<td><a download="retourmelding_{{$retour->firmaname}}"
href="/storage/images/{{$retour->images}}" title="Foto">
<img alt="Foto" src="/storage/images/{{$retour->images}}">
</a>
</td>
@endif
</tr>
这在本地完美,但在网上不行,请帮助我
当您像上面在 href 中指定的那样获取文件时。在本地它可以工作,因为您的本地计算机可以在 href 中呈现 /storage 文件夹路径,但在实时服务器中您需要这样指定:
{{ URL::to('/') }}/images/Whosebug.png
现在检查这个解决方案:
link 您的存储文件夹,通过以下命令:
php artisan storage:link
像这样从 blade 文件访问文件:
<td>
<a download="retourmelding_{{$retour->firmaname}}" href="{{ URL::to('/') }}/public/storage/images/{{$retour->images}}" title="Foto">
<img alt="Foto" src="{{ URL::to('/') }}/public/storage/images/{{$retour->images}}"></a>
</td>