Documentation ¶
Index ¶
- Constants
- func CopyFile(src, dst string) error
- func CreateSavePath(dst string, perm os.FileMode) error
- func DIR() string
- func Exist(path string) (bool, error)
- func FILE() string
- func GetFileHeaderMd5Name(fileHeader *multipart.FileHeader) (string, error)
- func GetFileList(path string) []string
- func LINE() int
- func RemoveFile(file string) error
- func SaveFile(file *multipart.FileHeader, dst string) error
- func Trace(skip int) (arr []string)
- func UploadChunk(url string, fileName string, fileMd5 string, chunkIndex int, chunkData []byte) (*gohttpx.Response, error)
- func WriteToFile(filename string, b []byte) error
- type BigFile
- type FileChunk
- type FileUploadResult
- func MergeFile(filePath string, fileName string, fileMd5 string, totalChunks int64, ...) (*FileUploadResult, error)
- func ReceiveChunkHandler(assetsDir string, chunkIndex int64, chunkMd5 string, fileMd5 string, ...) (*FileUploadResult, error)
- func ReceiveFile(assetsDir string, file *multipart.FileHeader) (*FileUploadResult, error)
Constants ¶
View Source
const ( UPLOAD_TYPE_LOCAL = 1 UPLOAD_TYPE_OSS = 2 UPLOAD_TYPE_CHUNK = 3 )
View Source
const (
EL = "\n"
)
Variables ¶
This section is empty.
Functions ¶
func GetFileHeaderMd5Name ¶
func GetFileHeaderMd5Name(fileHeader *multipart.FileHeader) (string, error)
func RemoveFile ¶
Types ¶
type BigFile ¶ added in v1.2.34
type BigFile struct { ChunkSize int64 // 分片大小 M MaxWorkers int // 同时处理最大分块数量,合理用防止超大文件内存益处 File string // 文件路径 FileMd5 string // 文件Md5 ChunkCount int64 // 分片数量 HandledChunkCount int64 // 已处理分片数量 FileChunkCallback func(*FileChunk) // 分片处理消息 // contains filtered or unexported fields }
func (*BigFile) DoneOneChunk ¶ added in v1.2.34
func (b *BigFile) DoneOneChunk()
func (*BigFile) WaitForFinish ¶ added in v1.2.34
func (b *BigFile) WaitForFinish()
type FileChunk ¶ added in v1.2.34
type FileChunk struct { Data []byte //分片数据 Hash string //分片Hash Index int64 //分片顺序号 FileMd5 string // ChunkFileName string // }
fmt.Sprintf("%s.part%d", fileName, i) mapreduce big file 大文件逻辑 for 把大文件并发分片处理,为了防止OOM超大文件边分片边处理的策略
type FileUploadResult ¶
func MergeFile ¶ added in v1.2.34
func MergeFile(filePath string, fileName string, fileMd5 string, totalChunks int64, isNotRemoveChunk bool) (*FileUploadResult, error)
服务器合并所有文件分片,并验证md5, isNotRemoveChunk =true 合并后时不会删除分片
func ReceiveChunkHandler ¶ added in v1.2.34
func ReceiveChunkHandler(assetsDir string, chunkIndex int64, chunkMd5 string, fileMd5 string, file *multipart.FileHeader) (*FileUploadResult, error)
服务器接受文件分片
func ReceiveFile ¶ added in v1.2.34
func ReceiveFile(assetsDir string, file *multipart.FileHeader) (*FileUploadResult, error)
服务器接受file文件到assetsDir目录下,assetsDir 目录不存在则自动创建,返回存储位置
Click to show internal directories.
Click to hide internal directories.