GO语言实现文件上传代码分享
功能很简单,代码也很简洁,这里就不多废话了。
package main
import (
"fmt"
"io"
"net/http"
"os"
)
const (
upload_path string = "./upload/"
)
func helloHandle(w http.ResponseWriter, r *http.Request) {
io.WriteString(w, "hello world!")
}
//上传
func uploadHandle(w http.ResponseWriter, r *http.Request) {
//从请求当中判断方法
if r.Method == "GET" {
io.WriteString(w, "<html><head><title>我的第一个页面</title></head><body><form action='' method=\"post\" enctype=\"multipart/form-data\"><label>上传图片</label><input type=\"file\" name='file' /><br/><label><input type=\"submit\" value=\"上传图片\"/></label></form></body></html>")
} else {
//获取文件内容 要这样获取
file, head, err := r.FormFile("file")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
//创建文件
fW, err := os.Create(upload_path + head.Filename)
if err != nil {
fmt.Println("文件创建失败")
return
}
defer fW.Close()
_, err = io.Copy(fW, file)
if err != nil {
fmt.Println("文件保存失败")
return
}
//io.WriteString(w, head.Filename+" 保存成功")
http.Redirect(w, r, "/hello", http.StatusFound)
//io.WriteString(w, head.Filename)
}
}
func main() {
//启动一个http 服务器
http.HandleFunc("/hello", helloHandle)
//上传
http.HandleFunc("/image", uploadHandle)
err := http.ListenAndServe(":8080", nil)
if err != nil {
fmt.Println("服务器启动失败")
return
}
fmt.Println("服务器启动成功")
}
以上所述就是本文的全部内容了,希望大家能够喜欢,能够对大家学习go语言有所帮助。
相关推荐
-
Go语言压缩和解压缩tar.gz文件的方法
本文实例讲述了Go语言压缩和解压缩tar.gz文件的方法.分享给大家供大家参考.具体分析如下: golang处理压缩包,最常用的就是tar.gz了,这里写了一个测试一下. 压缩文件: 复制代码 代码如下: package main import ( "fmt" "os" "io" "archive/tar" "compress/gzip" ) func main()
-
Go语言编程中判断文件是否存在是创建目录的方法
判断文件是否存在 os.IsExists()函数和os.IsNotExists(),他们的函数的原形是func IsExist(err error) bool func IsNotExist(err error) bool 都是传入一个err返回bool 这里注意了 err已经定义好了 复制代码 代码如下: /* var ( ErrInvalid = errors.New("invalid argument") ErrPermission = errors.
-
go语言实现一个最简单的http文件服务器实例
本文实例讲述了go语言实现一个最简单的http文件服务器的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "net/http" ) func main() { http.Handle("/", http.FileServer(http.Dir("./"))) http.ListenAndServe(":8123", nil) } 希望本文
-
GO语言文件的创建与打开实例分析
本文实例分析了GO语言文件的创建与打开用法.分享给大家供大家参考.具体分析如下: 文件操作是个很重要的话题,使用也非常频繁,熟悉如何操作文件是必不可少的.Golang 对文件的支持是在 os package 里,具体操作都封装在 type File struct {} 结构体中. 一.func Open(name string) (file *File, err error) 再简单不过了,给一个路径给它,返回文件描述符,如果出现错误就会返回一个 *PathError. 这是一个只读打开模式,实
-
GO语言常用的文件读取方式
本文实例讲述了GO语言常用的文件读取方式.分享给大家供大家参考.具体分析如下: Golang 的文件读取方法很多,刚上手时不知道怎么选择,所以贴在此处便后速查. 一次性读取 小文件推荐一次性读取,这样程序更简单,而且速度最快. 复制代码 代码如下: func ReadAll(filePth string) ([]byte, error) { f, err := os.Open(filePth) if err != nil { return nil, err } return iouti
-
python用ConfigObj读写配置文件的实现代码
发现一个简单而又强大的读写配置文件的lib,http://www.voidspace.org.uk/python/configobj.html.个人觉得最大的亮点在于自带的格式校验功能,并且支持复杂的嵌套格式,而且使用起来也相当的简便. 来看例子吧.读文件 复制代码 代码如下: from configobj import ConfigObj config = ConfigObj(filename) # value1 = config['keyword1']
-
Go语言判断指定文件是否存在的方法
本文实例讲述了Go语言判断指定文件是否存在的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "os" ) func main() { f, err := os.Open("dotcoo.com.txt") if err != nil && os.IsNotExist(err) { fmt.Pri
-
使用Go语言实现远程传输文件
前言 之前有一篇介绍如何使用Go语言通过SSH协议来执行远程命令:如何使用Go语言实现远程执行命令 同样,通过SSH协议也可以使用Go语言来远程传输文件. 除了 SSH 的库,为了传输文件,还需要用到 github.com/pkg/sftp 这个库. 实现方式 废话不多说,直接看代码. 由于是基于 SSH 协议实现的远程文件传输,所以先创建 SSH 的连接,再创建传输文件的 sftp 客户端. func connect(user, password, host string, port int)
-
GO语言实现文件上传代码分享
功能很简单,代码也很简洁,这里就不多废话了. 复制代码 代码如下: package main import ( "fmt" "io" "net/http" "os" ) const ( upload_path string = "./upload/" ) func helloHandle(w http.ResponseWriter, r *http.Request)
-
php处理单文件、多文件上传代码分享
php处理 单文件.多文件上传实例代码,供大家参考,具体内容如下 后台处理文件submit_form_process.php <?php /****************************************************************************** 参数说明: $max_file_size : 上传文件大小限制, 单位BYTE $destination_folder : 上传文件路径 $watermark : 是否附加水印(1为加水印,其他为不加
-
GO语言实现文件上传的示例代码
目录 前言 文件上传 表单操作 服务端操作 流程实现 小结 前言 最近在写一个文件上传的功能,现在来进行整理总结一下go语言如何上传文件的,本文主要分享一下golang实现文件上传的流程和具体代码,供大家参考,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助. 文件上传 表单操作 要使表单能够上传文件,需要添加form的enctype属性enctype="multipart/form-data",upload.html代码如下: <html> <head> &
-
python socket通信编程实现文件上传代码实例
这篇文章主要介绍了python socket通信编程实现文件上传代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 写一个file_receive.py和一个file_send.py程序,由file_send.py上传一个文件,file_receive.py接收上传的文件,写到指定的包内 #file_receive.py import socket,subprocess,os BASE_DIR = os.path.dirname(os.pa
-
springboot多文件上传代码实例及解析
这篇文章主要介绍了springboot多文件上传代码实例及解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一说明 spingMVC支持文件上传,我们通过Apach 的 commons-fileupload 包的CommonsMultipartResolver 去实现了 spingMVC的MultipartResolver . 本文章的示例是个简单的多文件上传,根据不同的业务自行修改. 二pom.xlm <dependencies> <
-
php+ajax 文件上传代码实例
本文实例为大家分享了php+ajax 文件上传的具体代码,供大家参考,具体内容如下 html 代码 <form action="{pboot:form fcode=8}" method="post" id="t" enctype="multipart/form-data"> <input type="file" name='tables_a' id="tables" o
-
Go语言实现文件上传
本文实例为大家分享了Go实现文件上传的具体代码,供大家参考,具体内容如下 文件上传:客户端把上传文件转换为二进制流后发送给服务器,服务器对二进制流进行解析 HTML表单(form)enctype(Encode Type)属性控制表单在提交数据到服务器时数据的编码类型. enctype=”application/x-www-form-urlencoded” 默认值,表单数据会被编码为名称/值形式 enctype=”multipart/form-data” 编码成消息,每个控件对应消息的一部分.请求
-
asp.net文件上传示例分享
方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关键代码: 复制代码 代码如下: <form id="form1" runat="server"><asp:FileUpload ID="FileUpload1" runat="server" /><asp:Button ID="Button1" runat="server" T
-
asp.net html控件的File控件实现多文件上传实例分享
asp.net多文件上传使用html控件的File控件,在form中就需要加入[ enctype="multipart/form-data"]. up3.aspx文件代码 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="up3.aspx.cs" Inherits="up3" %> <!DOCTYPE ht
-
非常经典的PHP文件上传类分享
文件上传是项目开发中比较常见的功能,但文件上传的过程比较繁琐,只要是有文件上传的地方就需要编写这些复杂的代码.为了能在每次开发中降低功能的编写难度,也为了能节省开发时间,通常我们都会将这些反复使用的一段代码封装到一个类中. <?php /** +----------------------------------------------------------------------------- * 文件上传类 +----------------------------------------
随机推荐
- MAC 命令行启动tomcat的详细介绍
- Asp.net,C# 加密解密字符串的使用详解
- Mysql 报Row size too large 65535 的原因及解决方法
- js中split和replace的用法实例
- 详谈javascript精度问题与调整
- 用户代理字符串userAgent可实现的四个识别
- java如何对map进行排序详解(map集合的使用)
- java使用数组和链表实现队列示例
- Android实现让图片在屏幕上任意移动的方法(拖拽功能)
- Java中两个大数之间的相关运算及BigInteger代码示例
- angular2系列之路由转场动画的示例代码
- C#操作INI文件的辅助类IniHelper
- Oracle集群 diagwait的问题记录
- Maven本地仓库的配置以及修改默认.m2仓库位置
- jquery radio 动态控制选中失效问题的解决方法
- pyqt5 删除layout中的所有widget方法
- python3应用windows api对后台程序窗口及桌面截图并保存的方法
- python广度优先搜索得到两点间最短路径
- 微信小程序实现默认第一个选中变色效果
- python爬虫添加请求头代码实例