如何在Node.js中保存通过表单上传的文件
我正在通过Express.js构建一个web应用程序,我有一个上传文件的表单。我需要保存本地文件,我不知道如何实现这一点。我曾尝试在internet上搜索,但我只能找到如何在Node.js中保存通过表单上传的文件,node.js,file,express,file-upload,Node.js,File,Express,File Upload,我正在通过Express.js构建一个web应用程序,我有一个上传文件的表单。我需要保存本地文件,我不知道如何实现这一点。我曾尝试在internet上搜索,但我只能找到fs.writeFile(),但这只适用于保存纯文本,所以如果例如是.pdf呢 这是我用来选择文件的: <input type="file" name="myFile"> 您可以使用multer(中间件),它用于解析formdata。使用它来保存文件和图像 阅读这篇文章您可以使用multer(一种中间件),它用于解析
fs.writeFile()
,但这只适用于保存纯文本,所以如果例如是.pdf呢
这是我用来选择文件的:
<input type="file" name="myFile">
您可以使用multer(中间件),它用于解析formdata。使用它来保存文件和图像
阅读这篇文章您可以使用multer(一种中间件),它用于解析formdata。使用它来保存文件和图像
阅读这篇文章您需要发送AJAX post请求,并在post正文中添加formdata,如
var formData = new FormData();
formData.append('name_you_catch_on_server', JSON.stringify(your_file));
然后使用ajax请求发布这些数据
$.ajax({
url,
method : 'POST',
data:formData,
processData: false,
contentType: false,
success: function(data) {
return data
},
error: function (err) {
}
})
您需要发送AJAX post请求,并在post正文中添加formdata,如
var formData = new FormData();
formData.append('name_you_catch_on_server', JSON.stringify(your_file));
然后使用ajax请求发布这些数据
$.ajax({
url,
method : 'POST',
data:formData,
processData: false,
contentType: false,
success: function(data) {
return data
},
error: function (err) {
}
})
Multer也支持多个上传,我个人总是使用Multer来做这样的事情Hanks:)我刚刚检查了一下,我有一个问题。我不使用
我已经知道如何在JQuery中执行post
,我只是不知道在这种情况下是否可以通过post操作发送文件。@AdriánT95只要您的请求有效,您如何提交请求并不重要。确保您的请求enctype是multipart/formdata
@Dijkstra我的意思是,我有三个文件server.js
(Node.js主文件)、userPage.ejs
(网站)和javascript.js
(userPage.ejs的JQuery代码)。。。根据Multer文档,我必须做这样的事情:upload.single('avatar')
,我可以在JQuery中做这样的帖子$.post(“/profile”,function(data){})代码>。如何将upload.single('avatar')
发送到server.js
,其中包含我正在使用的Node.js模块?Multer还支持多次上传,我个人总是使用Multer进行此类上传。谢谢:)我刚刚检查了它,我有一个问题。我不使用我已经知道如何在JQuery中执行post
,我只是不知道在这种情况下是否可以通过post操作发送文件。@AdriánT95只要您的请求有效,您如何提交请求并不重要。确保您的请求enctype是multipart/formdata
@Dijkstra我的意思是,我有三个文件server.js
(Node.js主文件)、userPage.ejs
(网站)和javascript.js
(userPage.ejs的JQuery代码)。。。根据Multer文档,我必须做这样的事情:upload.single('avatar')
,我可以在JQuery中做这样的帖子$.post(“/profile”,function(data){})代码>。如何将upload.single('avatar')
发送到server.js
,其中包含我正在使用的Node.js模块?Nevermind,我要将其更改为Nevermind,我要将其更改为