koa保存图片上传
前台vue element 的上传图片组件,后台koa
当后端接收到前台的操作后,我需要如何来处理它呢?
const router = require("koa-router")();
const routes = router.post("/img-single", uploadSingleImg);
const path = require("path");
const fs = require("fs");
function uploadSingleImg(ctx) {
const file = ctx.request.files.file;
console.log(file);
const reader = fs.createReadStream(file.path);
let filePath = path.join(
__dirname,
"/public/images/upload/" + `${file.name}`
);
const upStream = fs.createWriteStream(filePath);
reader.pipe(upStream);
console.log(file);
console.log("上传单个图片");
ctx.body = "11";
}
module.exports = routes;
中间件使用的是koa-body
问题如下:
- 要如何将这个上传的路径改为 项目目录下的public/images/upload,以及大佬开发中,上传的图片应该如何命名,据说有啥时间啥之类的。
- 我后台接收到的关于图片的是一些什么信息, 哪些是用来在读入流中的数据,能不能介绍一下,相应的这些信息。
- 如果后台成功存入后,我前台要怎么访问到这些图片的地址?
图片访问需要用到静态服务资源,即下图标示的1,下述不到50行代码演示上传成功展示图片
post上传图片,file类型字段名file,上传目录public/images,记录如下
至于上传文件接收到的文件信息,参见ts说明 ,即File类型对象,存在下述6个属性1个方法