html5 - multer文件上传
问题描述
使用multer做文件上传,上传后没有文件,req.files为undefined。
app.js
var fileupload=require(’./routes/ajax/fileupload.js’);app.use(’/upload’,fileupload);
fileupload.js
var express = require(’express’);const app = new express();const multer = require(’multer’);var upload=multer({dest:__dirname+’/upload’});app.post(’/’,upload.any(),(req,resp,next)=>{ resp.send(’success!’);});module.exports=app;
<!DOCTYPE html><html lang='en'> <head><title>ajax demo3 formData</title> </head> <body><h3>Entropy text/plain</h3><p>the txet/plain is not supported</p><h3>Entropy multipart/form-data</h3><form action='/upload' entropy='multipart/form-data' method='post' onsubmit='AjaxSubmit(this);return false;'> <fieldset> <p>firstname:<input type='text' name='firstname'/><br/>lastname:<input type='text' name='lastname'/></br>Sex:<input type='radio' name='sex' value='male' /><label for='sex_male'>male</label><br/><input type='radio' name='sex' value='female'><label for='sex_female'>female</label><br/>password:<input type='password' name='secret'><br/>What your pereform:<select name='image_type'> <option>Books</option> <option>Senima</option> <option>TV</option></select> </p> <p>input type your photo<input type='file' multiple='multiple' name='photos[]'/> </p> <p><input type='checkbox' name='vehicle[]' value='Bike'/> <label for='vehicle_bike'>I have a bike</label><br /><input type='checkbox' name='vehicle[]' value='Car'/><label for='vehicle_car'>I have a car</label><br/> </p> <p><textarea type='description' cols='50' rows='8'></textarea> </p> <p><input type='submit' Value='Submit'> </p> </fieldset> <script type='text/javascript'>function AjaxSubmit(oFormElement){ if(!oFormElement.action){return ; } var xhr = new XMLHttpRequest(); if(oFormElement.method='post'){xhr.open(’post’,oFormElement.action);xhr.send(new FormData(oFormElemet)); }else{var oField,sFileType,nFile,sSearch='';for(var nItem=0;nItem<oFormElement.length;nItem++){ oField=oFormElement[nItem]; if(!oField.hasAttribute(’name’)){continue; } sFieldType=oField.nodeName.toUpperCase()===’INPUT’?oField.type.toUpperCase():’TEXT’; if(sFieldType===’FILE’){for(var nFile=0;nFile<oField.files.length;sSearch+=’&’+escape(oField.name)+’=’+escape(oField.files[nFile++].name)); }else{sSearch+=’&’+escape(oField.name)+’=’+escape(oField.value); }}xhr.open('get', oFormElement.action.replace(/(?:?.*)?$/, sSearch.replace(/^&/, '?')), true);xhr.send(null); }} </script></form><!-- fieldset textarea type='description' checkbox radio multiple --> </body></html>
问题解答
回答1:app.post(’/upload’,upload.any(),(req,resp,next)=>{ // req.files resp.send(’success!’);});
相关文章:
1. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么2. angular.js - angularjs 怎么封装 upload 上传3. javascript - vue生成一维码?求助!!!!!急4. javascript - 关于Js中 this的一道题5. ubuntu 远程管理KVM设置问题6. mysql - 索引过滤性不好是由什么原因引起的,应该怎么解决7. dockerfile - [docker build image失败- npm install]8. 网页爬虫 - Python:爬虫的中文编码问题?9. javascript - 修改表单多选项时和后台同事配合的问题。10. javascript - H5页面怎么查看console信息?
