如何通过Sailsjs --no-frontend API中的URL访问图像

时间:2017-08-17 04:25:51

标签: node.js static upload sails.js image-upload

我有一个带有Sailsjs的API项目,这是使用 - no-frontend 选项创建的。

所以,我有一个动作,将图像上传到根目录中名为“uploads”的文件夹,图像上传成功,我可以在这个文件夹中看到它们,到目前为止一切正常。

当我尝试通过以下网址从其他应用程序访问此图像时:

http://localhost:1337/uploads/image_name.jpg

我收到404.我的问题是:如何通过我的自定义文件夹上传中的网址访问我上传的图片?

2 个答案:

答案 0 :(得分:3)

我有一种我喜欢的技术,而且非常简单。

在.sailsrc里面添加路径配置如下:

{
  "generators": {
    "modules": {}
  },
  "paths": {
    "public": "public"
  }
}

将文件夹添加到应用程序的根目录,名为public,内部添加uploads文件夹,如下所示:

Folder structure

在此之后,只需抬起你的应用程序,test.jpg将在localhost上提供:1337 / uploads / test.jpg

答案 1 :(得分:0)

我最终使用Nginx块提供图像,如下所示:

server {
         server_name myapi.dev;
         location ~* ^.+\.(jpg|jpeg|gif|png)$ {
            root   /var/www/myapi/uploads/;
         }
}

所以,我可以通过URL访问图像:

<强> http://myapi.dev/279b68b9-ae43-4674-a85d-94d5bad3365a.png