gpt4 book ai didi

javascript - 在 Sails.JS 中获取上传图像的下载 url

转载 作者:太空宇宙 更新时间:2023-11-04 00:59:05 24 4
gpt4 key购买 nike

我正在 Sails.js 中开发一个 Api,我需要通过 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'
}

但这并没有帮助,我在本地主机上收到 404。

谁能建议我如何解决这个问题?

最佳答案

您似乎遇到了 grunt 问题。该文件在您的 http://example.com/images/ 中提供实际上位于 .tmp/public/images/中,并且一个繁重的任务是将 asset 文件夹与 tmp 文件夹同步。

尝试在项目文件夹中运行 grunt 命令,如果不起作用,请尝试 npm install grunt 有时全局 npm 安装的 grunt 不起作用。

还要确保 grunt 可以写入文件夹 .tmp;)

这里还有另外两篇文章可能会有所帮助 https://stackoverflow.com/a/20363247/4322950 https://stackoverflow.com/a/20340354/4322950

关于javascript - 在 Sails.JS 中获取上传图像的下载 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27842721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com