diff --git a/drivers/189/189.go b/drivers/189/189.go index 388b93e0..5eba6e11 100644 --- a/drivers/189/189.go +++ b/drivers/189/189.go @@ -524,7 +524,7 @@ func (driver Cloud189) NewUpload(file *model.FileStream, account *model.Account) } res, err := driver.UploadRequest("/person/initMultiUpload", map[string]string{ "parentFolderId": parentFile.Id, - "fileName": file.Name, + "fileName": encode(file.Name), "fileSize": strconv.FormatInt(int64(file.Size), 10), "sliceSize": strconv.FormatInt(int64(DEFAULT), 10), "lazyCheck": "1", diff --git a/drivers/189/util.go b/drivers/189/util.go index bcaeb611..c079af87 100644 --- a/drivers/189/util.go +++ b/drivers/189/util.go @@ -115,17 +115,22 @@ func EncodeParam(v url.Values) string { } buf.WriteString(k) buf.WriteByte('=') - buf.WriteString(encode(v)) + //if k == "fileName" { + // buf.WriteString(encode(v)) + //} else { + buf.WriteString(v) + //} } } return buf.String() } func encode(str string) string { - str = strings.ReplaceAll(str, "%", "%25") - str = strings.ReplaceAll(str, "&", "%26") - str = strings.ReplaceAll(str, "+", "%2B") - return str + //str = strings.ReplaceAll(str, "%", "%25") + //str = strings.ReplaceAll(str, "&", "%26") + //str = strings.ReplaceAll(str, "+", "%2B") + //return str + return url.QueryEscape(str) } func AesEncrypt(data, key []byte) []byte {