add proper url encoding for filenames

Этот коммит содержится в:
JoramWilander
2015-07-17 15:55:06 -04:00
родитель edf26b4bc6
Коммит c63fbd4ccc
2 изменённых файлов: 23 добавлений и 1 удалений

Просмотреть файл

@@ -103,7 +103,9 @@ func uploadFile(c *Context, w http.ResponseWriter, r *http.Request) {
imageDataList = append(imageDataList, buf.Bytes())
}
fileUrl := "/" + channelId + "/" + c.Session.UserId + "/" + uid + "/" + url.QueryEscape(files[i].Filename)
encName := utils.UrlEncode(files[i].Filename)
fileUrl := "/" + channelId + "/" + c.Session.UserId + "/" + uid + "/" + encName
resStruct.Filenames = append(resStruct.Filenames, fileUrl)
}
@@ -264,6 +266,7 @@ func asyncGetFile(path string, fileData chan []byte) {
go func() {
data, getErr := readFile(path)
if getErr != nil {
l4g.Error(getErr)
fileData <- nil
} else {
fileData <- data

19
utils/urlencode.go Обычный файл
Просмотреть файл

@@ -0,0 +1,19 @@
// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
// See License.txt for license information.
package utils
import (
"net/url"
"strings"
)
func UrlEncode(str string) string {
strs := strings.Split(str, " ")
for i, s := range strs {
strs[i] = url.QueryEscape(s)
}
return strings.Join(strs, "%20")
}