- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在 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/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!