0
点赞
收藏
分享

微信扫一扫

前后端交互——上传文件与FormData

juneyale 2022-05-05 阅读 77

服务器文件

const Koa = require(“koa”);

const static = require(“koa-static”);

const Router = require(“koa-router”);

const userData = require(“./data/users.json”);

const koaBody = require(“koa-body”);

const fs = require(“fs”);

const mysql2 = require(“mysql2”);

const connection = mysql2.createConnection({

host: “localhost”,

user: “root”,

password: “123321”,

database: “js01”,

charset: “utf8”

});

let app = new Koa();

let router = new Router();

app.use(koaBody({

multipart: true

}));

app.use(static(__dirname + “/static”));

router.get(“/”, ctx => {

ctx.body = “hello world”

});

router.post(“/upload”, async ctx => {

// 将传递过来的文件,读取

let fileData = fs.readFileSync(ctx.request.files.img.path);

// 将读取的文件写入到指定的目录中

fs.writeFileSync(“static/imgss/” + ctx.request.files.img.name, fileData);

// 渲染页面

ctx.body = “接收成功”;

});

app.use(router.routes());

app.listen(8080);

[](()上传到服务器并渲染到页面

服务器文件

const Koa = require(“koa”);

const static = require(“koa-static”);

const Router = require(“koa-router”);

const userData = require(“./data/users.json”);

const koaBody = require(“koa-body”);

const fs = require(“fs”);

let app = new Koa();

let router = new Router();

app.use(koaBody({

multipart: true

}));

app.use(static(__dirname + “/static”));

router.get(“/”, ctx => {

ctx.body = “hello world”

});

router.post(“/fileUpload”, ctx => {

let fileData = fs.readFileSync(ctx.request.files.myfile.path);

fs.writeFileSync(“static/imgss/” + ctx.request.files.myfile.name, fileData);

ctx.body = ctx.request.files.myfile.name;

})

app.use(router.routes());

app.listen(8080);

静态文件

Document

点击上传

[](()上传到数据库并渲染到页面

服务器文件

const Koa = require(“koa”);

const static = require(“koa-static”);

const Router = require(“koa-router”);

const userData = require(“./data/users.json”);

const koaBody = require(“koa-body”);

const fs = require(“fs”);

const mysql2 = require(“mysql2”);

const connection = mysql2.createConnection({

host: “localhost”,

user: “root”,

password: “123321”,

database: “js01”,

charset: “utf8”

});

let app = new Koa();

let router = new Router();

app.use(koaBody({

multipart: true

}));

app.use(static(__dirname + “/static”));

router.get(“/”, ctx => {

ctx.body = “hello world”

});

router.post(“/upload”, async ctx => {

// 将传递过来的文件,读取

let fileData = fs.readFileSync(ctx.request.files.img.path);

let imgUrl = “/imgss/” + ctx.request.files.img.name;

console.log(imgUrl)

let sql = “INSERT INTO imgdata (imgUrl) VALUES(?)”

await connection.promise().query(sql, [imgUrl]);

// 将读取的文件写入到指定的目录中

fs.writeFileSync(“static/imgss/” + ctx.request.files.img.name, fileData);

// 将文件传入到数据库

ctx.body = “接收成功”;

});

router.get(“/new”, async ctx => {

let mysql = “SELECT * FROM imgData”;

let [rows] = await connection.promise().query(mysql);

let data = rows;

ctx.body = {

info: data

}

})

app.use(router.routes());

app.listen(8080);

上传文件页面

Document

点我上传

举报

相关推荐

0 条评论