Javascript 获取Sails.JS中上传图像的下载url
我正在编写Sails.js中的一个Api,在这里我需要通过Api将图像上传到服务器,并从移动应用程序中获取上传图像的url供以后使用。为此,我的上传代码如下Javascript 获取Sails.JS中上传图像的下载url,javascript,node.js,rest,file-upload,sails.js,Javascript,Node.js,Rest,File Upload,Sails.js,我正在编写Sails.js中的一个Api,在这里我需要通过Api将图像上传到服务器,并从移动应用程序中获取上传图像的url供以后使用。为此,我的上传代码如下 upload: function (req, res) { var uploadPath = '../../assets/images' ; req.file('avatar').upload({ dirname: uploadPath },function onUploadComplete (err, files) {
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
download: function (req, res) {
res.sendfile(req.path.substr(1));
},
它可以工作,并且图像正在浏览器中加载。但当我将我的应用程序部署到生产服务器时,它不工作,并给我404错误
为了解决这个问题,我已经编写了另一个这样的get操作
http://localhost:1337/images/bc4f03ec-0d9c-4553-b59a-9ddec427a265.jpg
download: function (req, res) {
res.sendfile(req.path.substr(1));
},
路线入口在哪里
'get /images/*' : {
controller : 'FileController',
action : 'download'
}
但这没用,我在本地主机上得到了404
有人能建议我如何解决这个问题吗 你似乎有一个
咕噜声
问题。实际上,您的中提供的文件位于.tmp/public/images/中,并且grunt任务正在将资产文件夹与tmp文件夹同步
尝试在项目文件夹中运行grunt
命令,如果不起作用,请尝试npm安装grunt
有时全局npm安装的grunt不起作用
还要确保grunt可以写入文件夹.tmp
;)
这里还有两个帖子可能会有所帮助
谢谢你,伙计,但我用skipper gridfs解决了这个问题。