koa 上传图片为什么不保存在写的路径上,求大神帮助一下
router.prefix('/upload');
//文件上传
//配置
var storage = multer.diskStorage({
//文件保存路径
destination: function (req, file, cb) {
cb(null, __dirname+ '../upload/')
},
//修改文件名称
filename: function (req, file, cb) {
var fileFormat = (file.originalname).split(".");
cb(null,Date.now() + "." + fileFormat[fileFormat.length - 1]);
}
})
//加载配置
var upload = multer({ storage: storage });
//路由
router.post('/upLoadDoc', upload.single('file'), async (ctx, next) => {
console.log(ctx.request)
ctx.body = {
filename: ctx.request.body.files.file.name//返回文件名
}
6 回复
@pengliheng 但是这有个问题,比如你要传到七牛云,那么,照你的流程,提交的所有过程都在前端,那我检查你的代码是不是就可以用你的七牛呢!
@lfz900824 七牛会有权限验证
@hi363138911 我没用过七牛,只是按照你的逻辑,图片直接保存七牛,不通过后台,那你所有的权限认证也都是前段html提交的,只有图片是随机的,那不还是一样别人可以拿到你的权限认证么
@lfz900824 按照七牛文档是需要我们自己的后端给验证的,如果全部放在前端,会出现你所说的问题。
客户端(移动端或者Web端)上传文件的时候,需要从客户自己的业务服务器获取上传凭证,而这些上传凭证是通过服务端的SDK来生成的,然后通过客户自己的业务API分发给客户端使用。根据上传的业务需求不同,七牛云Node.js SDK支持丰富的上传凭证生成方式。
前端上传图片到七牛可能是疯了
@pengliheng 上传不是自己做的啊