gin框架35--静态文件服务

2023-11-14

gin框架35--静态文件服务

介绍

本文介绍了如何使用gin框架实现静态文件服务,并加以案例说明。

案例

源码:

package main

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

func main() {
	router := gin.Default()
	router.Static("/assets", "./assets")
	router.StaticFS("/more_static", http.Dir("/var/log")) //gin.Dir("/var/log", true)
	router.StaticFile("/user.jpg", "./resources/user.jpg")

	// 监听并在 0.0.0.0:8080 上启动服务
	router.Run(":8080")
}

今天文件系统默认使用 gin.Dir, 用户也可以根据需要使用 http.Dir, http.Dir默认有list功能,gin.Dir 可以通过 listDirectory 来决定是否 list 文件夹。

测试:
http://127.0.0.1:8080/assets/user.jpg
在这里插入图片描述

http://127.0.0.1:8080/more_static/
在这里插入图片描述

http://127.0.0.1:8080/user.jpg
在这里插入图片描述

说明

gin官方文档 静态文件服务

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gin框架35--静态文件服务 的相关文章

  • Go内存管理及性能观测工具

    内存管理 TCMalloc Golang内存分配算法主要源自Google的TCMalloc算法 TCMalloc将内存分成三层最外层Thread Cache 中间层Central Cache 最里层Page Heap Thread Cach
  • go struct{} 空结构体的特点和作用

    空结构体的特点和作用 参考代码 package main import fmt unsafe func main empStruct 空结构体的实例和作用 func empStruct 空结构体的特点 1 不占用内存 2 地址不变 var
  • 【Golang入门】Golang第一天心得

    生活所迫 入门一下Go 很奇葩的第一点 接口 package main import fmt 定义一个接口 type Shape interface Area float64 定义一个矩形类型 type Rectangle struct W
  • golang基础教程

    目录 golang基础教程 一 环境搭建 golang基础教程 二 开发规范及API golang基础教程 三 变量与数据类型概述 golang基础教程 四 基本数据类型 golang基础教程 五 基本数据类型的转换 golang基础教程
  • go字符串详解

    文章目录 摘要 1 byte和rune类型 2 字符串 string 3 练习 反转字符串 摘要 go字符串结构体包含 指向底层存储数组的指针 字符串长度 字符串按utf 8将字符编码成二进制数 然后存储在byte数组中 因为utf 8编码
  • Go语言实现区块链与加密货币-Part3(交易优化,单机模拟多节点通信)

    交易 二 在这个系列文章的一开始 我们就提到了 区块链是一个分布式数据库 不过在之前的文章中 我们选择性地跳过了 分布式 这个部分 而是将注意力都放到了 数据库 部分 到目前为止 我们几乎已经实现了一个区块链数据库的所有元素 今天 我们将会
  • Golang-使用 goroutine 运行闭包的“坑”

    介绍 在 Go 语言中 函数支持匿名函数 闭包就是一种特殊的匿名函数 它可以用于访问函数体外部的变量 需要注意的是 在 for range 中 使用 goroutine 执行闭包时 经常会掉 坑 因为匿名函数可以访问函数体外部的变量 而 f
  • golang sleep

    golang的休眠可以使用time包中的sleep 函数原型为 func Sleep d Duration 其中的Duration定义为 type Duration int64 Duration的单位为 nanosecond 为了便于使用
  • Qt webengine 显示web页面、前后端通信以及下载详解

    概述 官方文档 https doc qt io archives qt 5 11 qtwebengine overview html 翻译文档 Qt5 9 WebEngine 概述 一花一世界 一叶一乾坤 博客园 从Qt5 5开始 Qt W
  • golang:环境变量GOPROXY和GO111MODULE设置

    我们安装完golang后 我们在windows的cmd命令下就可以直接查看和使用go命令和环境变量了 同样的在linux下可以在控制台使用 如下图所示 C Users lijie1 gt go env set GO111MODULE set
  • Go Web编程实战(10)----模板引擎库text/template包的使用

    目录 前言 模板引擎 定义模板文件 解析模板文件 渲染模板 实战使用模板 创建 tmpl文件 创建文件用于解析与渲染模板 前言 在Go语言中 模板引擎库text template包主要用于处理任意格式的文本内容 同时还提供了html tem
  • 掌握 Go 语言中的循环结构:从基础到高级

    一 if else 分支结构 1 if 条件判断基本写法 package main import fmt func main score 65 if score gt 90 fmt Println A else if score gt 75
  • 【go语言开发】Minio基本使用,包括环境搭建,接口封装和代码测试

    本文主要介绍go语言使用Minio对象存储 首先介绍搭建minio 创建bucket等 然后讲解封装minio客户端接口 包括但不限于 上传文件 下载 获取对象url 最后测试开发的接口 文章目录 前言 Minio docker安装mini
  • go-zero 开发入门-加法客服端示例

    定义 RPC 接口文件 接口文件 add proto 的内容如下 syntax proto3 package add 当 protoc gen go 版本大于 1 4 0 时需加上 go package 否则编译报错 unable to d
  • go-zero开发入门-API网关鉴权开发示例

    本文是 go zero开发入门 API网关开发示例 一文的延伸 继续之前请先阅读此文 在项目根目录下创建子目录 middleware 在此目录下创建文件 auth go 内容如下 鉴权中间件 package middleware impor
  • [每周一更]-(第55期):Go的interface

    参考地址 https juejin cn post 6978322067775029261 https gobyexample com interfaces https go dev tour methods 9 介绍下Go的interfa
  • [每周一更]-(第55期):Go的interface

    参考地址 https juejin cn post 6978322067775029261 https gobyexample com interfaces https go dev tour methods 9 介绍下Go的interfa
  • go-carbon v2.3.4 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库

    carbon 是一个轻量级 语义化 对开发者友好的 golang 时间处理库 支持链式调用 目前已被 awesome go 收录 如果您觉得不错 请给个 star 吧 github com golang module carbon gite
  • 【go语言】读取toml文件

    一 简介 TOML 全称为Tom s Obvious Minimal Language 是一种易读的配置文件格式 旨在成为一个极简的数据序列化语言 TOML的设计原则之一是保持简洁性 易读性 同时提供足够的灵活性以满足各种应用场景 TOML
  • 【go语言】AST抽象语法树详解&实践之扫描代码生成错误码文档

    背景 为了能识别出代码中抛出错误码的地址和具体的错误码值 再根据错误码文件获取到错误码的具体值和注释 方便后续的排错 这里使用AST进行语法分析获取到代码中的目标对象 一 编译过程 在开始解析代码之前先补充了解一下编译过程 编译过程是将高级

随机推荐

  • 修改jar包两种方法

    第一种 1 右键jar包选择打开方式为360压缩 2 直接把需要修改的class文件拖出来 3 使用jd gui exe打开需要修改的class文件 保存为Java 4 在eclipse中创建项目修改Java文件 注意1 创建相同的pack
  • 类和对象—类外访问私有数据

    1 通过公共函数为私有成员赋值 include
  • xxxxxxxxxxxxxxxxxxxxxx

    xxxxx
  • 区块链技术学习路线图,区块链技术教程分享

    区块链是比特币的底层技术 比特币是区块链的首个应用 比特币是钱的话 区块链就是账本 是记录比特币转账记录的 但是区块链不单单是比特币独有 除了数字货币外 区块链将在其他应用领域有更多用武之地 千锋分享 对于区块链技术的学习 其核心技术包含以
  • EasyUI Datagrid 获得选中行(CheckBox)的使用和获取的数据不正常(数据缺失。。)的解决

    checkOnSelect 当为True的时候 点每一行时CheckBox就会被选中 为False时 只能手动的点击CheckBox 默认true selectOnCheck 当为True的时候 点击CheckBox时行选中 反之要手动点击
  • 京东内网遭开源的“顶级”SpringCloud实战手册,GitHub列为首推

    相信大家都对springcloud不会陌生 但是我还是给大家介绍一下 Spring Cloud是一系列框架的有序集合 它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发 如服务发现注册 配置中心 消息总线 负载均衡
  • 服务器安装rpm文件,linux:rpm、yum以及yum服务器安装

    软件包的安装分为 1可执行文件 2安装源代码 先放放 一般的用rpm来安装可执行的文件型的软件包 Rpm Redhat Package Manager 是对软件包管理的工具RedHat软件包管理工具 Rpm可以实现软件包的安装 查询 升级
  • pycharm中更新pip失败

    python m pip install U force reinstall pip 在CMD中输入命令
  • Python 数据处理之折线图--matplotlib

    coding utf 8 import matplotlib pyplot as plt import xlrd import os workbook xlrd open workbook os path join os getcwd Su
  • 从地址中提取电话号码并转换成符号添加在地址后面

    简介 从地址中提取电话号码并转换成符号添加在地址后面 例如12345678900 转换成 00 在此过程中使用python内置的tkinter制作一个简单的图形输入输出框来运行并显示结果 from tkinter import import
  • 尼科彻斯定理

    验证尼科彻斯定理 即 任何一个整数m的立方都可以写成m个连续奇数之和 例如 13 123 3 533 7 9 1143 13 15 17 19例 输入6输出31 33 35 37 39 41 分析 方法一 经观察和推理得知 m的立方都可以写
  • 大前端完整学习路线(详解)

    大前端完整学习路线 详解 第一阶段 HTML CSS HTML进阶 CSS进阶 div css布局 HTML css整站开发 JavaScript基础 Js基础教程 js内置对象常用方法 常见DOM树操作大全 ECMAscript DOM
  • 【Linux】用shell脚本激活conda虚拟环境

    有一个需求是在Linux的shell脚本里激活conda虚拟环境 然后在虚拟环境中执行python脚本 创建conda env test sh shell脚本中复制其中这样一段代码 查看代码所在文件vim bashrc bin sh gt
  • @Async和@EnableAsync的用法

    我们在使用多线程的时候 往往需要创建Thread类 或者实现Runnable接口 如果要使用到线程池 我们还需要来创建Executors 在使用spring中 已经给我们做了很好的支持 只要要 EnableAsync就可以使用多线程 使用
  • mac前端开发常见问题

    npm全局安装包 npm config set prefix usr local sudo npm install g create react app create react app my app
  • idea插件 restfulTool使用

    1 首先进行下载 两种方式 一个idea工具在插件直接下载 另一个是去官网把插件的包下载下来 官网地址 https plugins jetbrains com idea 然后搜索插件 2 里面有对应的版本 适合自己idea版本 可自行下载
  • 迁移学习在CTR问题中的运用

    在年初的IJCAI 阿里妈妈广告搜索转化率预估赛上 我接触了CTR问题 CTR即 click through rate 点击通过率 指的是投放广告实际被点击次数与广告实际显示量的比例 是衡量广告投放出去效果的重要指标 此比赛的冠军所用的迁移
  • proxyee-down代理

    https github com proxyee down org proxyee down wiki E4 BD BF E7 94 A8 E6 95 99 E7 A8 8B
  • mac个人常用软件总结

    mac个人常用软件总结 mac快捷键提示工具 键值如飞 https better365 club FlyKey 1 2 dmg 快捷管理 BetterAndBetter https better365 club BetterAndBette
  • gin框架35--静态文件服务

    gin框架35 静态文件服务 介绍 案例 说明 介绍 本文介绍了如何使用gin框架实现静态文件服务 并加以案例说明 案例 源码 package main import github com gin gonic gin net http fu