设为首页 加入收藏

TOP

Gin-Go学习笔记五:Gin-Web框架 文件的操作(一)
2017-12-23 06:06:46 】 浏览:1784
Tags:Gin-Go 学习 笔记 Gin-Web 框架 文件 操作

文件的操作

1>     文件的创建,删除,写入内容,读取内容.(此实例使用的是text文件)

2>     Gin 并没有提供文件的创建,删除,读写这个操作的专门的接口,所以采用的是常用的ioutil这个包进行文件的读写操作,使用os这个包进行文件的创建和删除

3>     在controller下面新建一个fileopt.go,作为实现文件操作的业务逻辑部分.具体代码如下:

 

package controllers

import (
	"io/ioutil"
	"fmt"
	"os"
	"github.com/gin-gonic/gin"
	"net/http"
)
/**文件读写创建删除操作页面**/
func Filerwhtml(c *gin.Context){
	c.HTML(http.StatusOK, "filerw.html", gin.H{
		"title": "GIN: 文件读写创建删除操作布局页面",
	})
}

/**创建文件**/
func FilerCreate(c *gin.Context){
	iscreate:=true    //创建文件是否成功
	//创建文件
	f, err:= os.Create("static/txtfile/log.text")
	if err!=nil{
		iscreate=false		
	}
	defer f.Close()
	fmt.Println(f)
	//返回结果
	c.JSON(http.StatusOK, gin.H{
		"path":"static/txtfile/log.text",
		"success":iscreate,
	})
}
/**将内容写入文件**/
func FilerWrite(c *gin.Context){
	iswrite:=true                 //写入文件是否成功 
	//需要写入到文件的内容
	info:=c.PostForm("info")
	path:=c.PostForm("path")

	d1 := []byte(info)
	err := ioutil.WriteFile(path, d1, 0644)
	
    if err!=nil{
		iswrite=false    
	}
	//返回结果
	c.JSON(http.StatusOK, gin.H{
		"success":iswrite,
		"info":info,
	})
}
/**读取文件内容**/
func FilerRead(c *gin.Context){
	 isread:=true                 //读取文件是否成功 
	 path:=c.PostForm("path")
	 //文件读取任务是将文件内容读取到内存中。
	 info, err := ioutil.ReadFile(path)
	 if err!=nil{
		 fmt.Println(err)
		 isread=false  
	 }
	 fmt.Println(info)
	 result:=string(info)
	 
	//返回结果
	c.JSON(http.StatusOK, gin.H{
		"content":result,
		"success":isread,
	})
}
/**删除文件**/
func FilerDelete(c *gin.Context){
	
	isremove:=false                      //删除文件是否成功 
	path :=c.PostForm("path")    //源文件路径
	
	//删除文件
	cuowu := os.Remove(path)               

    if cuowu != nil {
        //如果删除失败则输出 file remove Error!
        fmt.Println("file remove Error!")
        //输出错误详细信息
        fmt.Printf("%s", cuowu)
    } else {
        //如果删除成功则输出 file remove OK!
		fmt.Print("file remove OK!")
		isremove=true
    }
	//返回结果
	c.JSON(http.StatusOK, gin.H{
		"success":isremove,
	})
}

  

  

4>     在views下面新建一个fileopt.html作为页面展示效果

 

<!DOCTYPE html>
 
<html>
  <head>
    <title>{{.title}}</title>
    <link rel="shortcut icon" href="/static/img/favicon.png" /> 
    <link rel="stylesheet" href="/static/bootstrap/css/bootstrap.css"/>
    <script type="text/java script" src="/static/js/jquery-2.1.1.min.js"></script> 
    <script type="text/java script" src="/static/bootstrap/js/bootstrap.min.js"></script> 
  </head>       
  <body>
    <div class="container">
      <!--创建text文件-->
      <div style="width:100%;height:50px;">
        <button onclick="createtxt()" class="btn btn-primary">创建text文件</button>
        <label id="txtname&qu
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Gin-Go学习笔记六:Gin-Web框架 A.. 下一篇Gin-Go学习笔记七:Gin-Web框架 ..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目