【问题标题】:how to display image with db stored path如何使用数据库存储路径显示图像
【发布时间】:2020-02-12 21:19:37
【问题描述】:

我正在创建一个工具,用户可以在其中上传图像或提供图像的外部链接。所以我将该图像网址存储在我的数据库中。 如果用户上传图像,那么我将存储文件的完整路径 例如:

C:\xampp\htdocs\project\public\upload/1571149288.jpg

如果用户给我一个图片网址

例如:

https://example.com/images/ask1571149288e.jpg. 

我正在存储这个完整路径,在下一个屏幕中我需要显示用户上传的最后三个图像,在任何使用 db 存储路径中,

控制器

$previousUpload = DB::table('background_trimmer')->where('user_id',1)->limit(3)->orderBy('id', 'desc')->get();

    return view('user.clippingMagic.upload', array('previousUpload'=>$previousUpload));

刀片视图

    <div id="recent-images" class="mt-3">
     @foreach ($previousUpload as $recentImage)
         <div class="recentimages">
             <img src="..\{{$recentImage->image_title}}" alt="image recent" />        

        </div>
      </div>
 @endforeach
</div>

为图像获取 404 并且图像 src 现在是 => http://127.0.0.1:8000/C:\xampp\htdocs\New folder\marketermagic\public\upload/1571206254images.jpg

我想要什么

C:\xampp\htdocs\New folder\marketermagic\public\upload/1571206254images.jpg

如果我在浏览器选项卡中点击C:\xampp\htdocs\New folder\marketermagic\public\upload/1571206254images.jpg 这个网址,我就有了图像。 因为我已经存储了图像的完整路径,所以我不需要 laravel 添加任何东西的基本 url,它应该按原样使用我的 url。 感谢您的帮助

【问题讨论】:

  • 不,这并不能解决我的问题,而且它不像你建议的那样回答我的问题
  • 我也试过这个,{{asset('uploads/appsetting/' . $page->image) }} 因为我有完整路径所以与asset() 无关;图片可能是第三方网址

标签: php image url laravel-5


【解决方案1】:

案例研究:

你有两个选择:

  1. 用户可以上传图片
  2. 或者她/他可以输入外部图片链接。
你必须做的:
  1. 如果用户上传图片,则为您的内部脚本创建一个可公开浏览的网址。像用户上传 abc.png 图像一样,您应该创建该图像的公共可浏览 url。怎么说?只需添加base url + upload folder path + image name 非常简单的步骤。最终输出应如下所示:http://example.com/YOUR_ASSETS_PATH/abc.png 并将其存储到 DB。

  2. 如果用户输入外部 url,只需将其保存到 DB。

查看: &lt;img src="{{$recentImage-&gt;image_path}}" alt="image recent" /&gt;

就是这样!

【讨论】:

  • 到目前为止,我已经存储了 'C:\xampp\htdocs\New folder\marketermagic\public\upload/1571206254images.jpg' 然后它应该显示图像
猜你喜欢
  • 2014-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-03
相关资源
最近更新 更多