Javascript Nodejs将我的图像从视图上载到控制器
在我的视图中,我选择了一个图像。在我的控制器中,我有一个名为Javascript Nodejs将我的图像从视图上载到控制器,javascript,node.js,upload,Javascript,Node.js,Upload,在我的视图中,我选择了一个图像。在我的控制器中,我有一个名为 uploadImage:function(req,res){} 我有一行req.file('photofile')。上传(…… 因此,我现在的问题是..如何将此图像从我的视图传递到我的控制器?以便我可以从req读取它?我假设您有一个绑定到uploadImage函数的路由。如果没有,您可以使用express创建它: var app = require('express')(); app.post('/your/upload/route'
uploadImage:function(req,res){}
我有一行req.file('photofile')。上传(……
因此,我现在的问题是..如何将此图像从我的视图传递到我的控制器?以便我可以从
req
读取它?我假设您有一个绑定到uploadImage
函数的路由。如果没有,您可以使用express
创建它:
var app = require('express')();
app.post('/your/upload/route', uploadImage);
如果要从视图上载文件,有两种选择:
- 使用简单的HTML
和
。必须在
标记中添加以下属性:
!给您:enctype=“multipart/form data”
呃,我应该将require express代码放在哪里?在我的控制器中?我没有express插件。我应该如何编写我的路由?我已经尝试了使用表单的第一个选项。这也正确吗?我在控制器的uploadImage函数中做了一行打印,但它没有打印,所以它没有被调用。我以为你在使用
express
,没问题。如果您想知道什么是express
,以及它是如何工作的,您可以在使用npm install--save express
命令安装软件包后进行操作。express是执行此操作的唯一方法?>。不,正如我在帖子中所说的,您可以使用基本的post
并将其提交给控制器。
<form method="post" enctype="multipart/form-data">
<input type="file" name="photofile" />
<input type="submit" />
</form>
<form onSubmit="upload()">
<input id="image" type="file" />
<input type="submit" />
</form>
function upload() {
var inputFile = $('#image');
if (inputFile.files[0]) { // Just checking if the user selected a file.
var data = new FormData();
data.append('photofile', inputFile.files[0]); // Add the file in the form data.
$.ajax({ // Call your route
url: '/your/upload/route', // The route to call
data: data, // The FormData
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function (data){
console.log('Upload success!', data);
},
error: function (result, status, error){
console.log('An error occurred.');
}
});
} else {
console.log('You didn\'t choose any image');
}
}