图片上传到服务器后怎么生成可直接访问的链接

发布于 2022-09-11 16:15:15 字数 746 浏览 10 评论 0

我在客户端做头像上传,图片上传到服务器后保存在一个固定的文件夹内,现在我如何在客户端读取到这张图片。

运行环境是后端是node koa

相关代码

exports.editcover = async (ctx) => {
  const {
      userId,
      imgfile
  } = ctx.request.body
  var base64Data = imgfile.replace(/^data:image\/\w+;base64,/, "");
  var dataBuffer = new Buffer(base64Data, 'base64');
  let name = new Date().getTime().toString() + OrderHelper.generateRondom(10).toString();
  let url =  './upload/'+name+'.png'
  fs.writeFile(url, dataBuffer, function(err) {
 if(err){
   console.log('保存失败');
 }else{
   console.log('保存成功');
   console.log(url);//现在到这就结束了,我可以看到在我的upload文件下生成了我刚刚上传的图片
 }
 });
}

我想知道如何生成一个图片链接保存到数据库后客户端能通过图片链接访问到我服务器上upload里面的文件,拜托啦,本人新手前端,若描述有误,请各位大佬多多见谅

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

つ低調成傷 2022-09-18 16:15:15

假设文件保存路径为/data/upload

如果有nginx之类的静态服务器,直接加一个配置指向upload文件夹,然后通过域名+路径就可以访问到文件, 比如这样

server {
        listen  80;
        server_name test.com;
        root   /home/www/html/test.com;

        # 访问 http://test.com/upload/a.png 就相当于 /data/upload/a.png
        location /upload/ {
            root /data/upload;
        }

如果是用 koa 启动的http服务器,使用koa-send访问静态资源

router.post('/upload/:filename', async (ctx){
    const name = ctx.params.filename;
    const fullpath = `/data/upload/${filename}`;
    ctx.attachment(fullpath);
    await send(ctx, fullpath);
)}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文