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. html - 移动端radio无法选中2. javascript - 关于ajax上传多图问题。3. css - 如何使用 vue transition 实现 ios 按钮一样的平滑切换效果4. sass - sublime3 里面的scss文件怎么不提示css3的代码呀5. 正则表达式 - python pandas的sep参数问题6. css - 关于ul的布局7. javascript - 在静态页面上用load 引入的页面文件问题?8. css - 移动端 line-height安卓错位,苹果机正常用,缩放解决了,可是又出来了占位的问题9. javascript - webpack打包后的bundlejs文件代码不知道什么意思.10. javascript - es6模块加载export的输出值有点没太搞明白
