mime/multipart

该包实现了文件(基于RFC 2046标准)内容解析,主要用户HTTP请求以及浏览器初始化消息体的解析

变量

var ErrMessageTooLarge = errors.New("multipart:message too large")
类型
File

File类型是一个接口,定义了用于访问文件相关信息的接口,对于存储在硬盘上的文件内容,那么其底层的实现将会是*os.File

type FIle interface {
  io.Reader
  io.ReaderAt
  io.Seeker
  io.Closer
}
FileHeader

该结构体描述了请求中文件的头部信息

type FileHeader struct {
  Filename string  //文件名
  Header textproto.MIMEHeader
  Size int64 //文件大小
}
Open
func (fh *FileHeader)Open()(FIle, error)

返回文件头相关联的文件

Form

解析后的文件上传表单,上传的文件存储在内存或硬盘上,可通过Open方法获得

type Form struct {
  Value map[string][]string
  File map[string][]*FileHeader
}
RemoveAll
func (f *Form) RemoveAll()error

该方法移除所有与表单相关的临时文件

Part

Part代表的是消息体

type Part struct {
  Header textproto.MIMEHeader
}
Close
func (p *Part) Close() error
FileName
func (p *Part) FileName() string

返回Content-Disposition头部所标识的文件名

FormName
func (p *Part) FormName() string

如果Content-Disposition的类型为form-data则返回其名称,否则返回空字符串

Read
func (p *Part) Read(d []byte)(n int, err error)

在头部之后以及下一个消息体之前读取消息体

---未完待续

results matching ""

    No results matching ""