内容简介:linux上没qq,手机和电脑之间传输文件就变得异常困难。要么从充电器插头上拔下数据线插到电脑上,手机开启usb文件传输功能,要么蓝牙传输,传输速度不是一般的慢,10M的图片一分钟才传完。懒得在网上找类似功能的软件就手写了一个。速度很快。注意:直接复制代码可能不行,要配置个接受文件的/home/username/tmp目录和展示文件的目录http.Dir("/home/banapy")
linux上没qq,手机和电脑之间传输文件就变得异常困难。要么从充电器插头上拔下数据线插到电脑上,手机开启usb文件传输功能,要么蓝牙传输,传输速度不是一般的慢,10M的图片一分钟才传完。懒得在网上找类似功能的软件就手写了一个。速度很快。
package main import ( "fmt" "net/http" "io/ioutil" "net" "os" ) func check(e error) { if e!=nil{ fmt.Println(e) } } func main() { fmt.Println("请访问下面的链接:") showip() http.HandleFunc("/", uploadFileHandler) http.Handle("/file/",http.StripPrefix("/file/",http.FileServer(http.Dir("/home/banapy")))) http.ListenAndServe(":8080",nil) } func uploadFileHandler(w http.ResponseWriter,r *http.Request){ /**/ fmt.Fprintln(w,` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>多平台局域网内文件互传</title> </head> <body style="text-align: center;"> <h1>多平台局域网内文件互传</h1> <br> <br> <form action="UploadFile.ashx" method="post" enctype="multipart/form-data"> <input type="file" name="fileUpload" /> <input type="submit" name="上传文件"> </form> <br> <br> <br> <br> <a href="/file">文件下载</a> </body> </html> `) if r.Method=="POST"{ file, handler, err := r.FormFile("fileUpload") //name的字段 if err != nil { fmt.Println(err) return } defer file.Close() fileBytes, err := ioutil.ReadAll(file) check(err) newFile, err := os.Create("/home/banapy/tmp/" + handler.Filename) check(err) defer newFile.Close() if _, err := newFile.Write(fileBytes); err != nil { check(err) return } fmt.Println(" upload successfully:" +"/home/banapy/tmp/" + handler.Filename ) w.Write([]byte("SUCCESS")) } } func showip() { addrs, err := net.InterfaceAddrs() if err != nil { fmt.Println(err) os.Exit(1) } for _, address := range addrs { // 检查ip地址判断是否回环地址 if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { if ipnet.IP.To4() != nil { fmt.Println(ipnet.IP.String()+":8080") } } } }
注意:直接复制代码可能不行,要配置个接受文件的/home/username/tmp目录和展示文件的目录http.Dir("/home/banapy")
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 个人的局域网网络设置整理
- 局域网搭建 Docker Registry
- 创建局域网Git服务器
- 树莓派 + PiCamera + motion 打造局域网实时监控
- 实现局域网https域名访问内网服务
- 树莓派 + PiCamera 打造局域网实时监控 – Version 1
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
程序员的思维修炼
Andy Hunt / 崔康 / 人民邮电出版社 / 2010-12-10 / 39.00元
本书解释了为什么软件开发是一种精神活动,思考如何解决问题,并就开发人员如何能更好地开发软件进行了评论。书中不仅给出了一些理论上的答案,同时提供了大量实践技术和窍门。 本书供各层次软件开发人员阅读。一起来看看 《程序员的思维修炼》 这本书的介绍吧!