ran*_*101 5 javascript ajax jquery node.js express
我知道这个问题之前已经被问过很多次了,我已经尝试过实施这些解决方案,但它们对我来说并不真正有效。
我一直在努力弄清楚如何通过 Node.js 上传文件和读取文件大小。我最初尝试使用强大的 npm,它似乎不再维护,因为我找不到关于它的文档。我无法处理这些错误,所以我尝试使用 multer。但是,当我尝试记录 req.file 时,我反复收到未定义的日志。
我有下面的 server.js 代码
var express = require('express');
var formidable = require('formidable');
var multer = require('multer');
var path = require('path');
var upload = multer({dest: './uploads'});
var fs = require('fs');
var app = express();
var PORT = 8080;
app.use(express.static(__dirname+'/views'));
app.set('views', './views');
app.set('view engine', 'jade');
app.get('/', function(req, res){
res.render('index.jade');
});
app.post('/upload', upload.single('Upload'),function(req, res){
console.log(req.file);
});
app.listen(PORT, function(){
console.log('Express listening on port: '+PORT);
});
Run Code Online (Sandbox Code Playgroud)
下面提供了我的带有 AJAX 调用的 javascript 代码
$('#upload-butt').on('change', function(){
var file = $(this).get(0).files;
console.log(typeof file);
if(file.length > 0){
var formData = new FormData();
formData.append('Upload', file, file.name);
$.ajax({
url: '/upload',
type: 'POST',
data:formData,
processData:false,
contentType:false,
error: function(jXhr, status){
console.log('error: '+status);
},
success: function(data){
console.log('upload successful: '+data);
}
})
}
});
Run Code Online (Sandbox Code Playgroud)
我的 index.jade 代码如下
html
head
link(rel='stylesheet', href='style.css', type='text/css')
title Upload file for shortening
body
h1 Welcome to file metadata service
div(id='upload-button')
form(enctype='multipart/form-data', method='post', action='/upload')
input(name='Upload', type='file', id='upload-butt')
div(id="submit-button")
form(action = '/submit')
button(type="submit", value='Submit', id='submit-butt') Submit
script(src="https://code.jquery.com/jquery-2.2.0.min.js")
script(src="upload.js")
Run Code Online (Sandbox Code Playgroud)
我准备撕掉我的头发,所以我将非常感谢任何能在这里帮助我的人!谢谢!
您提交的内容<form>与包含图像的内容不同,正确的方法是将所有内容放在一个<form>. 这样您就可以提交包含该文件的表单。
html
head
link(rel='stylesheet', href='style.css', type='text/css')
title Upload file for shortening
body
h1 Welcome to file metadata service
div(id='upload-button')
form(enctype='multipart/form-data', method='post', action='/upload')
input(name='Upload', type='file', id='upload-butt')
button(type="submit", value='Submit', id='submit-butt') Submit
script(src="https://code.jquery.com/jquery-2.2.0.min.js")
script(src="upload.js")
Run Code Online (Sandbox Code Playgroud)
对于玉石部分来说,这应该有效。
| 归档时间: |
|
| 查看次数: |
772 次 |
| 最近记录: |