項目地址: https://github.com/Draymonders/cloud
歡迎你們Watch
or Star
git
因爲項目中對大文件進行5MB
爲一個分塊上傳(多線程,提高上傳效率),所以全部分塊上傳完是要求合併的。github
filepath: 分塊所在目錄,分塊按照數字標號來有序存儲
filestore: 生成一個新文件的目錄位置bash
#!/bin/bash filepath=$1 filestore=$2 echo "filepath: " $filepath echo "filestorepath: " $filestore if [ ! -f $filestore ]; then echo "$filestore not exist" else rm -f $filestore fi for item in `ls $filepath | sort -n` do `cat $filepath/${item} >> ${filestore}` echo "merge ${filepath/${item}} to $filestore ok" done echo "file store ok"
package main import ( "fmt" "os" "os/exec" ) const ( // dirPath = "/data/tmp/" dirPath = "d:\\tmp\\" ) func main() { var cmd *exec.Cmd filepath := dirPath + "/root5d0dd1ec/" filestore := dirPath + "1111111.pdf" cmd = exec.Command(dirPath+"mergeAll.sh", filepath, filestore) // cmd.Run() if _, err := cmd.Output(); err != nil { fmt.Println(err) os.Exit(1) } else { fmt.Println(filestore, " has been merge complete") } }