当前位置 : 主页 > 操作系统 > centos >

golang文件服务器的两种方式(可以访问任何目录)

来源:互联网 收集:自由互联 发布时间:2023-07-30
下面我将详细讲解“golang文件服务器的两种方式(可以访问任何目录)”的完整攻略,过程中将包含两条示例说明。 golang文件服务器的两种方式方式一:使用gohttpserver库 gohttpserver是一个基

下面我将详细讲解“golang文件服务器的两种方式(可以访问任何目录)”的完整攻略,过程中将包含两条示例说明。

golang文件服务器的两种方式 方式一:使用gohttpserver库

gohttpserver是一个基于net/http库实现的高性能文件服务器,支持显示目录、提供文件下载等功能。使用前需要先安装gohttpserver,可以使用如下命令进行安装:

go get github.com/unbyte/gohttpserver

安装完成之后,使用如下代码即可启动文件服务器:

package main

import (
    server "github.com/unbyte/gohttpserver"
)

func main() {
    s := server.CreateServer(nil)
    s.ListenAndServe(":8000", ".", false)
}

其中,第一个参数为nil表示使用默认路由,第二个参数为文件服务器的根目录(可以是任何目录),第三个参数为false表示不启用https。

方式二:使用gin框架实现文件服务器

gin是一个轻量级的HTTP Web框架,具有速度快、API清晰、易于使用等特点。使用gin框架可以快速实现文件服务器,代码如下:

package main

import (
    "github.com/gin-gonic/gin"
)

func main() {
    r := gin.Default()
    r.Static("/", ".")
    r.Run(":8000")
}

其中,r.Static(“/”, “.”)表示访问根目录时返回的是当前目录的内容。

自由互联热门推荐:PDF电子发票识别软件,一键识别电子发票并导入到Excel中!10大顶级数据挖掘软件!人工智能的十大作用!

两种方式的示例说明:

  1. 使用gohttpserver

首先,在本地创建一个名为“test”的文件夹,并在其中放入一张名为“test.jpg”的图片。接着,创建一个名为“main.go”的文件,代码如下:

package main

import (
    server "github.com/unbyte/gohttpserver"
)

func main() {
    s := server.CreateServer(nil)
    s.ListenAndServe(":8000", "./test", false)
}

执行代码之后,打开浏览器,在地址栏输入“localhost:8000”即可访问本地文件夹“test”中的文件。

  1. 使用gin框架

首先,在本地创建一个名为“test”的文件夹,并在其中放入一张名为“test.jpg”的图片。接着,创建一个名为“main.go”的文件,代码如下:

package main

import (
    "github.com/gin-gonic/gin"
)

func main() {
    r := gin.Default()
    r.Static("/", "./test")
    r.Run(":8000")
}

执行代码之后,打开浏览器,在地址栏输入“localhost:8000”即可访问本地文件夹“test”中的文件。

以上就是golang文件服务器的两种方式,可以访问任何目录的完整攻略,希望能对你有所帮助。

【本文转自:香港大带宽服务器 http://www.558idc.com/st.html 欢迎留下您的宝贵建议】
网友评论