node
node-file 案例
一、筛选excle表格,放到新的excle表格里面
var xlsx= require ( "node-xlsx" ) ;
var fsp= require ( "fs/promises" ) ;
init ( ) ;
async function init ( ) {
var txt= await fsp. readFile ( "./a.xlsx" ) ;
var data= xlsx. parse ( txt) ;
var newData= [
{
name: "" ,
data: [
... data[ 0 ] . data. slice ( 0 , 4 ) ,
... data[ 0 ] . data. slice ( 4 ) . filter ( item => item[ item. length- 1 ] >= 90 )
]
}
]
var buffer= xlsx. build ( newData) ;
await fsp. writeFile ( "./b.xlsx" , buffer) ;
}
二、前台传输图片,后台接收并保存
< form action= "#" >
< input type= "file" >
< button type= "submit" > 上传< / button>
< / form>
< script>
var form, input;
init ( ) ;
function init ( ) {
form= document. querySelector ( "form" ) ;
input= document. querySelector ( "input" ) ;
form. addEventListener ( "submit" , submitHandler) ;
}
function submitHandler ( e ) {
e. preventDefault ( ) ;
var fileReader= new FileReader ( ) ;
fileReader. addEventListener ( "load" , loadHandler) ;
fileReader. readAsArrayBuffer ( input. files[ 0 ] ) ;
}
async function loadHandler ( e ) {
var res= await fetch ( "http://localhost:4010" , {
method: "post" ,
body: e. target. result,
headers: {
"X-Name" : input. files[ 0 ] . name
}
} ) ;
var txt= await res. text ( ) ;
console. log ( txt) ;
}
< / script>
var http= require ( "http" ) ;
var path= require ( "path" ) ;
var fsp= require ( "fs/promises" ) ;
var fs= require ( "fs" ) ;
http. createServer ( async function ( req, res ) {
res. writeHead ( 200 , {
"Access-Control-Allow-Origin" : "*" ,
"Access-Control-Allow-Headers" : "*"
} )
if ( / ico / . test ( req. url) || ! req. headers[ "x-name" ] ) {
res. end ( ) ;
return ;
}
var src= path. join ( __dirname, "./img/" , req. headers[ "x-name" ] )
req. pipe ( fs. createWriteStream ( src) ) ;
res. end ( "上传完成" )
} ) . listen ( 4010 )