国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

node.js文件上傳處理示例

2019-11-20 08:38:50
字體:
來源:轉載
供稿:網友

直入主題,在Node.js web 開發基本框架的前提下,我們來做一個文件上傳功能

上傳的handler比較簡單,網上都能找到

var url=require('url');var exec=require('child_process').exec;var querystring=require('querystring');/********************************文件上傳 第3方模塊測試*************************/function fileUploadForm(request,response){ response.writeHead(200,{'Content-Type':'text/html'}); var body = '<html>'+  '<head>'+  '<meta http-equiv="Content-Type" '+  'content="text/html; charset=UTF-8" />'+  '</head>'+  '<body>'+  '<form action="/fileuploadaction" method="post" enctype="multipart/form-data">'+  '<input name="name" type="text" />'+  '<input name="upload" type="file" />'+  '<input type="submit" value="Upload" />'+  '</form>'+  '</body>'+  '</html>'; response.write(body); response.end();}<span style="color: rgb(255, 0, 0);">function fileUploadAction(request,response){ var fs=require('fs'); var formidable=require('formidable'); var baseUploadPath="./media/upload/"; var form=new formidable.IncomingForm(); form.uploadDir='./var/tmp'; form.parse(request,function(error,fields,files){  if(!error){   console.log(fields);   var desUploadName=baseUploadPath+files.upload.name;   fs.renameSync(files.upload.path, desUploadName);   response.writeHead(200,{'Content-Type':'text/html'});//值得注意的是這里的response.writeHead()函數內容要寫在form.parse()的callback中要不不會顯示   response.write('received image:</br>');   response.write('<img src="/showuploadimage?name='+files.upload.name+'" />');   response.end();  } });}</span>function showUploadImage(request,response){ var fs=require('fs'); var imageName=querystring.parse(url.parse(request.url).query); var baseUploadPath="./media/upload/"; fs.readFile(baseUploadPath+imageName.name, "binary", function(error, file) {  if(error) {   response.writeHead(500, {"Content-Type": "text/plain"});   response.write(error + "/n");   response.end();  } else {   response.writeHead(200, {"Content-Type": "image/png"});   response.write(file, "binary");   response.end();  } });}exports.fileuploadform=fileUploadForm;exports.fileuploadaction=fileUploadAction;exports.showuploadimage=showUploadImage;

同時在index.js中添加

handle['/fileuploadform']=handlers.fileuploadform; handle['/fileuploadaction']=handlers.fileuploadaction; handle['/showuploadimage']=handlers.showuploadimage; 

有一點需要注意的是,在有需要處理文件上傳的時候,不能在server中添加

request.setEncoding('utf8');//設置這個很可能導致上傳失敗,這是formidable模塊的一個bug吧 


request.addListener("data",function(tempPostData){    postData+=tempPostData;   });   request.addListener("end",function(){    route(request,response,postData,handle);   }); 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 卓尼县| 郓城县| 上林县| 山西省| 阿尔山市| 鄢陵县| 内黄县| 工布江达县| 达日县| 格尔木市| 永康市| 梁河县| 丹巴县| 八宿县| 灵川县| 西丰县| 凤山市| 阜平县| 拉萨市| 炎陵县| 玛多县| 外汇| 东平县| 秦安县| 巴彦县| 日照市| 博兴县| 兰溪市| 浦北县| 巴塘县| 玉山县| 资中县| 惠来县| 海盐县| 民乐县| 怀来县| 平定县| 资溪县| 兴业县| 西充县| 东方市|