koa 上传图片为什么不保存在写的路径上,求大神帮助一下
发布于 5 年前 作者 Rock-1 4310 次浏览 来自 问答
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 上传不是自己做的啊

回到顶部