当前我可以将文件名存储为数据库并且存储在laravel的公共文件夹中,但是我想将文件路径存储在数据库中吗?
我的控制器:
$image=$userProfile['image'];
$image1 = base64_decode($image);
$filename = time().'.'.$extension;
Storage::disk('public')->put($filename,$image1);
$this->user->where('id', Auth::user()->id)->update(['profile_pic' => $filename]);
我如何在laravel中存储图像路径并在公共文件夹中存储图像名称?我正在使用base64在json中发送图片。
您的帮助会受到高度赞赏吗?
答案 0 :(得分:0)
使用:
/**
* Try to get real ip from request:
* <ul>
* <li>try X-Forwarded-For</li>
* <li>try remote address</li>
* </ul>
*
* @param request request
* @return real ip or ""
*/
private String tryGetRealIp(HttpServletRequest request) {
// X-Forwarded-For: <client>, <proxy1>, <proxy2>
// If a request goes through multiple proxies, the IP addresses of each successive proxy is listed.
// This means, the right-most IP address is the IP address of the most recent proxy and
// the left-most IP address is the IP address of the originating client.
String forwards = request.getHeader("X-Forwarded-For");
if (StringUtils.isNotBlank(forwards)) {
// The left-most IP must be client ip
String ip = StringUtils.substringBefore(forwards, ",");
return ip;
} else if (StringUtils.isNotBlank(request.getRemoteAddr())) {
// this could be real client ip or last proxy ip which forwards the request
return request.getRemoteAddr();
}
return "";
}
答案 1 :(得分:0)
首先键入此命令:
php artisan storage:link
它将创建到公用文件夹的符号链接。
在您的控制器中,您可以这样编写:
if ($request->file('image')) {
$file = $request->file('image')->store('images', 'public');
$new_product->image = $file;
}
此代码将在路径中插入随机字符串,因此您可以在图像列值'images / shgsqwerfsd.jpg'中输入类似的内容