gpt4 book ai didi

node.js - Nodejs保存JSON文件

转载 作者:太空宇宙 更新时间:2023-11-03 23:58:37 25 4
gpt4 key购买 nike

  1. 假设我有这个 <input type="file" id="theFile">

  2. 我使用 myVar =
    document.getElementById('theFile').value
    访问所选文件

  3. 输出为console.log(myVar); // C:\fakepath\xxx.txt

然后我做了一个简单的 POST,有很多方法可以做 POST,但一种基本的 JavaScript 方法是:

var http = new XMLHttpRequest();
http.onreadystatechange = function() {
http.open("POST", "http://localhost:port/upload-test");
http.setRequestHeader('Content-type', 'application/json');
var body = {
file: document.getElementById('theFile').value
}
http.send(JSON.stringify(body));

然后在我的 Nodejs Express服务我这样做:

app.post('/upload-test', (request, response) => {
console.log(request.body); // { file: 'C:\\fakepath\\xxx.txt' }
});

现在如何将该文件保存到运行服务的电脑上?

我知道其他解决方案,例如 https://www.w3schools.com/nodejs/nodejs_uploadfiles.asp但这需要用户使用 <form>这不是我想要的。我想使用基本的 POST 和 JSON 方法上传文件。

最佳答案

请求的内容类型应该是 multipart/form-data,因为您正在上传文件。您可以使用multerjs用于nodejs上传

var express = require('express')
var multer = require('multer')
var upload = multer({ dest: 'uploads/' })

var app = express()

app.post('/upload-test', upload.single('avatar'), function (req, res, next) {
// req.file is the `avatar` file
// req.body will hold the text fields, if there were any
})

关于node.js - Nodejs保存JSON文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55863329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com