我们可以搭建一个简易的服务器,通过局域网来传输文件
具体步骤如下:
一、查看本机ip
在命令行中输入ipconfig指令,查看本机在局域网中的IP
二、使用nodejs搭建服务器
如果没有安装nodejs,则先下载安装nodejs
随便新建一个目录,在该目录中新建文件server.js,内容如下:
const express = require('express')
const app = express()
const fs = require('fs')
const basePath = '.'
//正则表达式
app.all(/\/.*\..*/, (req, res) => {
let path = basePath + req.path
fs.readFile(path, (err, data) => {
if(err){
res.end(err.message)
}
else{
res.end(data)
}
})
})
app.listen(9001)
//这里使用的是9001端口,可以随意改变,但请确认使用的端口未被占用且能通过防火墙
使用命令行窗口进入该目录,并执行npm i express和npm i fs两个指令:
将想要传送的文件放在该目录下,这里使用testFiles1.txt和testFiles2.txt作为测试:
然后再次打开命令行,进入该目录,执行node server.js命令,其实就是运行server.js文件:
至此,这个简易的服务器就开始运行了。
除了nodejs,也可以使用别的语言来搭建这个简易服务器,比如java,c,python等等。
三、在linux虚拟机中通过wget下载文件
在虚拟机中执行"wget http://" + IP + “:” + 端口 “/” 文件名,如下:
查看一下结果,发现文件已经正常下载到linux虚拟机中:
可以传输任何类型的文件,如exe,tar,gz,zip等等。
同时也可以从linux虚拟机往windows主机里传输文件,把服务器搭在linux里面即可。
补充
由于是通过局域网传输,所以速度非常快,下面是测试一个1.5G大小的压缩包,传输速度平均100MB/s
这种方法不可以传输大小超过2G的单个文件,如果有需求请把大文件先拆分。