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--静态文件服务 的相关文章

  • golang-bufio 缓冲扫描

    前面两篇博客 介绍了 bufio 包中的缓冲读和写 bufio go 下面再来介绍一下缓冲扫描 scan go 这个扫描的是用来对缓存读的更高级封装 提供了一些更易用的方法 缓冲扫描 Scanner 提供了一个方便的接口来读取数据 例如使用
  • 【Golang入门】Golang第一天心得

    生活所迫 入门一下Go 很奇葩的第一点 接口 package main import fmt 定义一个接口 type Shape interface Area float64 定义一个矩形类型 type Rectangle struct W
  • 七. go 常见数据结构实现原理之 反射

    目录 一 golang 是如何实现反射的 如何比较两个对象完全相等 一 golang 是如何实现反射的 参考博客Go 语言问题集 Go Questions Go 语言在 reflect 包里定义了各种类型 实现了反射的各种函数 通过它们可以
  • Go开发命令行程序指南

    近期在Twitter上看到一个名为 Command Line Interface Guidelines 的站点 1 这个站点汇聚了帮助大家编写出更好命令行程序的哲学与指南 这份指南基于传统的Unix编程原则 2 又结合现代的情况进行了 与时
  • Go Web编程实战(6)----反射

    目录 反射 反射的3大原则 接口类型变量 转换为 反射类型对象 反射类型对象 转换为 接口类型变量 反射类型对象 修改 值必 可写的 反射 与其他语言一样 Go语言的反射同样是指 计算机程序在运行时 可以访问 检测和修改它本身状态或行为的一
  • Go项目部署及所遇问题

    小聊 本次小白给大家带来Golang项目部署操作以及个人所遇问题和解决它们的方法 依然是一边实操演示一边写文稿 如遇相似问题却存有疑惑可留言 开发环境是Window 部署环境是Linux 开发工具为GoLand 部署服务器为阿里云 1 打包
  • Golang-使用 goroutine 运行闭包的“坑”

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

    关键字 关键字是指被go语言赋予了特殊含义的单词 共25个 关键字不能用于自定义名字 只能在特定语法结构中使用 break default func interface select case defer go map struct cha
  • golang sleep

    golang的休眠可以使用time包中的sleep 函数原型为 func Sleep d Duration 其中的Duration定义为 type Duration int64 Duration的单位为 nanosecond 为了便于使用
  • go语言基础-----03-----流程控制、函数、值传递、引用传递、defer函数

    1 流程控制 这里只讲 for range 语句 这个关键字 主要用于遍历 用来遍历数组 slice map chan 例如 package main import fmt func main str hello world 中国 for
  • Qt webengine 显示web页面、前后端通信以及下载详解

    概述 官方文档 https doc qt io archives qt 5 11 qtwebengine overview html 翻译文档 Qt5 9 WebEngine 概述 一花一世界 一叶一乾坤 博客园 从Qt5 5开始 Qt W
  • go 进阶 gin实战相关: 五. gin_scaffold 企业脚手架

    目录 一 gin scaffold 企业级脚手架 二 gin scaffold 脚手架安装及使用演示 文件分层解释 开始使用 1 配置开启go mod 功能 2 下载 安装 gin scaffold 3 整合 golang common 4
  • Go语言包管理(一)

    Go语言中的包 我们在使用其他语言 比如Java Python 都有类似包的概念 Go也不例外 其核心思想即为分组和模块化 人的大脑对庞大和复杂的事情很难掌控 可以对其采用分而治之的策略 使其模块化 从而更容易管理 如下是标准库中net包的
  • Go 语言输出文本函数详解

    Go语言拥有三个用于输出文本的函数 Print Println Printf Print 函数以其默认格式打印其参数 示例 打印 i 和 j 的值 package main import fmt func main var i j stri
  • Go 语言注释教程

    注释是在执行时被忽略的文本 注释可用于解释代码 使其更易读 注释还可用于在测试替代代码时防止代码执行 Go支持单行或多行注释 Go单行注释 单行注释以两个正斜杠 开头 在 和行尾之间的任何文本都将被编译器忽略 不会被执行 示例 This i
  • 基于Go语言实现简易Web应用

    目录 前言 Go语言特点 写在使用Go语言实现Web应用前面 创建Web服务器 声明一个结构体操作 加入中间件的使用 使用静态文件服务器 最后 前言 在编程语言中 近几年问世的几个新语言都是非常不错的 比如Go Python Rust等等
  • 有哪些不错的 Golang 开源项目?

    目前人在字节做 Go 开发 寻找 Golang 开源项目学习目的可能是 想学习或者提高自己对 Go 项目的组织和编排能力 想学习 Go 项目的框架设计 想在一些 Go 语法上细节的优化和进阶 我推荐两个项目 一 tinode 这是一个开源的
  • 48.Go简要实现令牌桶限流与熔断器并集成到Gin框架中

    文章目录 一 简介 二 限流器与熔断器在微服务中的作用 1 限流器 对某个接口单位时间内的访问量做限制 2 熔断器 当服务连续报错 超过一定阈值时 打开熔断器使得服务不可用 三 具体实现 1 限流器实现逻辑 以令牌桶算法为例 2 限流器集成
  • go-zero开发入门之网关往rpc服务传递数据1

    go zero 的网关往 rpc 服务传递数据时 可以使用 headers 但需要注意前缀规则 否则会发现数据传递不过去 或者对方取不到数据 go zero 的网关对服务的调用使用了第三方库 grpcurl 入口函数为 InvokeRPC
  • go-carbon v2.3.4 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库

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

随机推荐

  • 修改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