Go语言--云存储系统原型之简单文件上传

本文介绍了一个使用Go语言构建云存储系统原型的过程,重点在于文件上传功能。通过POST请求处理文件上传,利用`r.FormFile`获取上传文件,创建临时文件并用`io.Copy`写入。此外,还涵盖了文件元信息的处理,包括GET请求获取页面、文件下载和删除接口的实现。
摘要由CSDN通过智能技术生成

"云存储"系统原理之简单文件上传

接口描述 接口URL
文件上传接口 POST file/upload
文件查询接口 GET file/query
文件下载接口 GET file/download
文件删除接口 POST file/delete
文件修改接口 POST file/upload
package handle

import (
	"fmt"
	"io"
	"io/ioutil"
	"net/http"
	"os"
)

func UploadFile(w http.ResponseWriter,r *http.Request){
   
	if r.Method == "GET"{
   
		//读取html数据
		data,err := ioutil.ReadFile("./static/view/index.html")
		if err != nil {
   
			//如果失败就将信息写入响应钟
			io.WriteString(w, "失败")
			return
		}
		fmt.Println(w)
		io.WriteString(w, string(data))
	}else if(r.Method=="POST"){
   
		file,head,err := r.FormFile("file")
		if err != nil{
   
			fmt.Printf("Failed to get data,err%s\n",err.Error())
			return
		}
		defer file.Close()
		dir, err := os.Getwd()
		if err != nil {
   
			fmt.Printf("Failed to dir file,err:%s\n",err.Error())
		}
		NewFile,err := os.Create(dir+"/tmp/"+head.Filename)
		if err != nil{
   
			fmt.Printf("Failed to create file,err:%s\n",err.Error())
			return
		}
		defer NewFile.Close(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值