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. java - 做一个视频播放器,想实现一个功能,如果3秒不点击屏幕任何,则下方一个界面布局(显示按钮那些的)自动消失。2. javascript - js中数组的undefined为什么不会被遍历3. thinkphp中Controller里面使用Request::File(’image’);4. 编辑管理员信息时,为什么没有修改过的内容会为空?5. java 如何列出jar包中jar包里的所有文件和目录?6. html - angularJS中switch切换开关按钮不能操作7. PC 手机兼容的 编辑器8. javascript - 如何将一个长为365的数组对象按月份切割成12组?9. mysql - 看这条sql有可能被注入吗10. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?

网公网安备