获取Sails.JS中上传图像的下载网址
Get download url of Uploaded image in Sails.JS
我正在 Sails 中开发一个 API.js我需要通过 api 将图像上传到服务器并获取该上传图像的 url 以供以后从移动应用程序使用。为此,我的上传代码如下
upload: function (req, res) {
var uploadPath = '../../assets/images' ;
req.file('avatar').upload({ dirname: uploadPath },function onUploadComplete (err, files) {
if (err) {
return res.serverError(err);
} else {
var image = files[0];
var fd = image.fd ;
var index = fd.lastIndexOf('/');
var imageName = fd.substring(index+1 , fd.length);
return res.json({ image : '/images/' + imageName });
}
});
}
这给了我如下结果...
{
"image": "/images/bc4f03ec-0d9c-4553-b59a-9ddec427a265.jpg"
}
如果我像这样用我的本地主机附加路径
http://localhost:1337/images/bc4f03ec-0d9c-4553-b59a-9ddec427a265.jpg
它可以工作并且图像正在浏览器中加载。但是当我将应用程序部署到生产服务器时,它不起作用并给我 404 错误。
为了解决这个问题,我已经写了另一个这样的 get 操作
download: function (req, res) {
res.sendfile(req.path.substr(1));
},
其中/routes 条目为
'get /images/*' : {
controller : 'FileController',
action : 'download'
}
但这没有帮助,我在 localhost 上得到了 404。
谁能建议我如何解决这个问题?
似乎您有一个grunt
问题。http://example.com/images/中提供的文件实际上是在 .tmp/public/images/中,并且一个繁琐的任务正在将资产文件夹与 tmp 文件夹同步。
尝试在项目文件夹中运行grunt
命令,如果不起作用,请尝试npm install grunt
有时全局 npm 安装的 grunt 不起作用。
还要确保 grunt 可以写入文件夹.tmp
;)
这是另外两个可能会有所帮助的帖子https://stackoverflow.com/a/20363247/4322950https://stackoverflow.com/a/20340354/4322950
相关文章:
- 将图像下载为数据url时出错
- node.js从http请求列表中将图像下载到服务器
- 在阵列中预加载图像(并等待图像下载)
- gdrive JavaScript SDK 下载网址
- 获取Sails.JS中上传图像的下载网址
- 如何以编程方式将图像下载到iPad
- 异步:1. 发布网址和 2.图像下载(从给定的 URL)
- 强制图像下载 - 缺少文件扩展名
- 查找帖子中所有图像的图像源网址
- 创建图像下载按钮支持所有浏览器
- 强制将远程托管的图像下载到浏览器
- 使用Google Analytics跟踪图像下载
- 单击图像下载链接
- Wordpress的图像下载按钮
- 在页面上的其他几个图像下载完成后,HTML视频开始下载
- 根据浏览器更改下载网址
- 更改'下载网址'搜索URL'XML数据
- 如何获得图像下载时,用户点击
- 更改图像的src属性是否会阻止图像下载?
- 下载网址在
移动设备上的标签(使用cordova)