1.安装smb2插件
npm install smb2 -s
2.在需要写入的电脑中设置共享文件夹
3.获取需要写入电脑ip地址
>> cmd
>> ipconfig
4. 在koa中编写
const smbConfig = {
share: "\\\\remote-server-ip\\share-name",
domain: "your-domain", // 可选,根据你的网络配置
username: "your-username",
password: "your-password",
};
注:①remote-server-ip:写入电脑的ip
②share-name:共享文件夹名
③your-domain:电脑域(没有可不填) ==>我的电脑/此电脑->右键->属性 可查看
④your-username 电脑用户名
⑤your-password 电脑密码
5. 创建对象SMB2对象
const smbClient = new SMB2(smbConfig);
6. 写入
smbClient.writeFile('file.txt', 'Hello Node', function(err) {
if (err) throw err;
console.log("It's saved!");
});
注:第一个参数直接写文件名即可,不用带上共享文件夹地址,第二个参数可直接写需要写入的内容
6.1 写入文件
smbClient.writeFile(
remoteFilePath,
fs.readFileSync(localFilePath),
(err) => {
if (err) {
throw err;
}
console.log("File uploaded to remote server:", remoteFilePath);
ctx.body = "File uploaded!";
}
);
注:①remoteFilePath:写入的地址,没有文件夹则直接写文件名
②fs.readFileSync(localFilePath):smb2的riteFile第二个参数只能传入字符串或者buffer值,所以使用readFileSync
③localFilePath 上传文件的地址