首页 > 编程知识 正文

formdata上传文件,formdata上传文件附加参数

时间:2023-05-04 10:14:20 阅读:138852 作者:4898

1.html部分,选择文件(以excel为例) ) ) )。

2.js上传文件的部分主要使用jequery和FormData

var formdata=new formdata ($ (' # upload form ' ) [0];

formdata.append('maptype ',' baidu ' );

$.Ajax({

url: '/upload/order ',

类型: ' post ',

数据:格式、

processData: false,//告诉jquery不要处理发送的数据

告诉jquery不要设置内容类型: false//content-type请求标头

}.done(function(RES ) )。

}.Fail(function(RES ) )

console.log ('失败);

);

3 .后台节点接收部,为了分析excel使用' node-xlsx '

constexpress=require(express );

constfs=require('fs );

常量格式=要求(formidable );

constxlsx=Require(node-xlsx );

const router=express.Router (;

router.post((/order ),) req,res )={

console.log (' # # # # # post/upload # # # # ' );

let fileTypeError=false;

const target path=` $ { _ _ dirname }/upload `;

const form=new formidable.incoming form (;

form.encoding='utf-8 ';

form.keepExtensions=true;

form.maxfieldssize=10 * 1024 * 1024;

form.uploadDir=targetPath;

const files=[];

const fields=[];

let mapType='gaode ';

ORM.on(field ),) field,value )={ //上传相关参数mapType ),baidu ) )。

field===' maptype ' ) mapType=value;

fields.push([field,value];

);

ORM.on(file ),) field,file )={ //接收文件触发器

console.log (uploadfile : $ { file.name } );

//判断文件类型是否为xlsx

if(file.type!==' application/vnd.open XML formats-office document.spread sheet ml.sheet ' } {

fileTypeError=true;

}

files.push([field,file] );

);

FORM.on('end ',) )={

//遍历上传文件

let fileName=' ';

let obj=' ';

constfolderexists=fs.exists sync (target path );

文件夹执行{ if }

const dirlist=fs.readdir sync (target path );

Dirlist.Foreach(Async(item )={

if (! fs.stat sync ` $ { target path }/$ { item } ` }.is directory () {

console.log (parse item : $ { target path }/$ { item } ` );

filename=` $ { target path }/$ { item } `;

if (! 文件类型错误) {

//分析Excel

obj=xlsx.parse(filename,{

单元格数据:真

);

console.log(JSON.stringify ) obj );

res.send({

代码: 10000、

msg:“数据分析成功”、

resOrders: resOrderObjs

);

} else {

res.send({

代码: 20003、

msg: '文件格式不正确'

);

}

fs.UNLinksync(Filename ); //delete file

}

);

} else {

res.send({

RTN代码: '1',

rtnInfo:“系统错误”

);

}

);

FORM.on(error ),) err )={

res.send({

RTN代码: '1',

rtnInfo: '上传错误'

);

);

ORM.on(aborted ),)={

res.send({

RTN代码: '1',

rtnInfo: '放弃上传'

);

);

FORM.parse(req );

);

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。