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. node.js - node 客戶端socket一直報錯Error: read ECONNRESET,用php的socket沒問題哈。。2. django - 后臺返回的json數據經過Base64加密,獲取時用python如何解密~!3. 老哥們求助啊4. angular.js - 如何通俗易懂的解釋“依賴注入”?5. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?6. html5 - angularjs中外部模版加載無法使用7. 我的html頁面一提交,網頁便顯示出了我的php代碼,求問是什么原因?8. tp6表單令牌9. css3 - 請問一下在移動端CSS布局布局中通常需要用到哪些元素,屬性?10. ubuntu PPA 更新老是不成功該怎么辦
