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. docker gitlab 如何git clone?2. 關于docker下的nginx壓力測試3. angular.js - angularjs的自定義過濾器如何給文字加顏色?4. docker不顯示端口映射呢?5. nignx - docker內nginx 80端口被占用6. javascript - windows下如何使用babel,遇到了困惑7. dockerfile - [docker build image失敗- npm install]8. debian - docker依賴的aufs-tools源碼哪里可以找到啊?9. 老師您的微信號是多少?10. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失敗!
