| | |
| | | "errors" |
| | | "fmt" |
| | | "io" |
| | | "log" |
| | | "mime/multipart" |
| | | "net/http" |
| | | "strings" |
| | | "github.com/kirinlabs/HttpRequest" |
| | | "time" |
| | | ) |
| | | |
| | |
| | | client := &http.Client{Timeout: timeout} |
| | | resp, err := client.Do(request) |
| | | if err != nil { |
| | | log.Fatal(err) |
| | | fmt.Println("UploadFile client.Do(request) err:", err) |
| | | return "", err |
| | | } |
| | | defer func() { |
| | |
| | | body := &bytes.Buffer{} |
| | | _, err := body.ReadFrom(resp.Body) |
| | | if err != nil { |
| | | log.Fatal(err) |
| | | fmt.Println("UploadFile body.ReadForm(resp.Body) err:", err) |
| | | } |
| | | |
| | | m := make(map[string]interface{}) |
| | |
| | | return "", err |
| | | } |
| | | filePath := m["fileUrl"].(string) |
| | | if strings.Contains(filePath,"/"){ |
| | | idx := strings.Index(filePath,"/") |
| | | filePath = filePath[idx+1:] |
| | | return filePath,nil |
| | | } else { |
| | | return "",errors.New("file upload error") |
| | | } |
| | | return filePath,nil |
| | | } |
| | | } |
| | | |
| | | // 获得一个fid |
| | | |
| | | func GetFid(url string)(weedPath string ,err error) { |
| | | res,err := HttpRequest.NewRequest().Post(url) |
| | | if err != nil { |
| | | fmt.Println("网络传输错误!") |
| | | } |
| | | var m map[string]interface{} |
| | | err = res.Json(&m) |
| | | if err != nil { |
| | | return "",err |
| | | } |
| | | return "http://"+m["url"].(string)+"/"+m["fid"].(string),err |
| | | } |