1
0
mirror of https://github.com/gilbertchen/duplicacy synced 2026-01-03 09:03:40 +00:00

URLEncode the file path to allow non-ascii characters in the path

This commit is contained in:
Gilbert Chen
2018-01-22 22:58:30 -05:00
parent d330f61d25
commit e0d7355494

View File

@@ -6,6 +6,7 @@ package duplicacy
import (
"strings"
"net/url"
)
type B2Storage struct {
@@ -210,7 +211,7 @@ func (storage *B2Storage) GetFileInfo(threadIndex int, filePath string) (exist b
// DownloadFile reads the file at 'filePath' into the chunk.
func (storage *B2Storage) DownloadFile(threadIndex int, filePath string, chunk *Chunk) (err error) {
filePath = strings.Replace(filePath, " ", "%20", -1)
filePath = url.PathEscape(filePath)
readCloser, _, err := storage.clients[threadIndex].DownloadFile(filePath)
if err != nil {
return err
@@ -224,7 +225,7 @@ func (storage *B2Storage) DownloadFile(threadIndex int, filePath string, chunk *
// UploadFile writes 'content' to the file at 'filePath'.
func (storage *B2Storage) UploadFile(threadIndex int, filePath string, content []byte) (err error) {
filePath = strings.Replace(filePath, " ", "%20", -1)
filePath = url.PathEscape(filePath)
return storage.clients[threadIndex].UploadFile(filePath, content, storage.UploadRateLimit/len(storage.clients))
}