南强小屋 Design By 杰米
直入主题,在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="/UploadFiles/2021-04-02/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);
});
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无node.js文件上传处理示例的评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。