平時工作中少不了文件共享,所以了解文件共享的方法很有必要。
文件共享有很多方法,大致分為以下幾類:
1、系統共享(windows共享或samba等):
windows下我們可以借助windows共享完成簡單的文件共享,linux下也可以用samba之類的軟件輕松實現。
2、ftp共享:
可以借助常見的ftp軟件實現。
3、http共享:
可以借助常見的web服務器(比如IIS、Apache等)實現。
今天我要介紹的是http文件共享。
首先以IIS為例介紹下用常用的web服務器實現文件共享的方法,具體如下(以我機器為例):
1、打開IIS,打開“網站 --> 默認網站”,右鍵點擊“屬性”,點擊“主目錄”,勾選“目錄瀏覽”選項,如下圖所示:
2、進入文件夾C:\Inetpub\wwwroot,拷貝文件“1.7z“到這個目錄:
3、打開瀏覽器,輸入本機ip(比如我的:192.168.1.123),即可看到共享的文件並可以下載:
點擊“1.7z”即可下載。
這里我已經實現了文件共享,但如果我沒有IIS或者Apache之類的web服務器軟件怎么實現http文件共享呢?
沒有就自己寫一個用來共享文件的程序唄!
呵呵,可別被嚇到,這個借助python或者go語言可以很輕松的實現:
1、python實現http文件共享:
用過python的都知道python有一個很牛x的命令:
python -m SimpleHTTPServer
在C:\Python27下運行命令:
打開瀏覽器,可以看到如下效果:
這個命令的默認端口是8000,如果我再加一個端口參數,可以用其它端口進行訪問,命令如下:
打開瀏覽器:
知道了這個原理,可以寫個bat文件,在需要的時候copy到相應的目錄雙擊即可,比如我的httpShare.bat文件如下:
python -m SimpleHTTPServer 80
默認用80端口,訪問時候只需要輸入我的ip地址即可。
2、go語言實現http文件共享:
上面的方法很方便,windows和linux通吃,不過前提是要安裝python
這里我有個用go語言實現的,也是windows和linux通吃(windows下不知道怎么配置的可以參考我之前的文章:http://www.cnblogs.com/MikeZhang/archive/2012/02/09/windowsGo.html ),類似C/C++,是代碼可移植,使用前你只需編譯一次。
下面是示例代碼(httpShare.go):
package main
import (
"http"
"fmt"
)
func main(){
h := http.FileServer(http.Dir("."))
var port string
fmt.Printf("Please input port Number: ")
fmt.Scanf("%s",&port)
http.ListenAndServe(":"+port, h)
}
運行效果:
技術是為生活服務的,覺得那個簡單就用那個吧,反正上面的幾種方法都可以實現文件共享。
好,就這些了,希望對你有幫助。