Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
a7de81b8
提交
a7de81b8
authored
2月 02, 2015
作者:
Matt Bell
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
commands: URL escape filenames in multipart files, resolves #654
上级
9c489c37
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
11 行增加
和
3 行删除
+11
-3
multipartfile.go
commands/files/multipartfile.go
+7
-1
multifilereader.go
commands/http/multifilereader.go
+4
-2
没有找到文件。
commands/files/multipartfile.go
浏览文件 @
a7de81b8
...
...
@@ -4,6 +4,7 @@ import (
"mime"
"mime/multipart"
"net/http"
"net/url"
)
const
(
...
...
@@ -67,7 +68,12 @@ func (f *MultipartFile) NextFile() (File, error) {
}
func
(
f
*
MultipartFile
)
FileName
()
string
{
return
f
.
Part
.
FileName
()
filename
,
err
:=
url
.
QueryUnescape
(
f
.
Part
.
FileName
())
if
err
!=
nil
{
// if there is a unescape error, just treat the name as unescaped
return
f
.
Part
.
FileName
()
}
return
filename
}
func
(
f
*
MultipartFile
)
Read
(
p
[]
byte
)
(
int
,
error
)
{
...
...
commands/http/multifilereader.go
浏览文件 @
a7de81b8
...
...
@@ -6,6 +6,7 @@ import (
"io"
"mime/multipart"
"net/textproto"
"net/url"
"sync"
files
"github.com/jbenet/go-ipfs/commands/files"
...
...
@@ -74,11 +75,12 @@ func (mfr *MultiFileReader) Read(buf []byte) (written int, err error) {
// write the boundary and headers
header
:=
make
(
textproto
.
MIMEHeader
)
filename
:=
url
.
QueryEscape
(
file
.
FileName
())
if
mfr
.
form
{
contentDisposition
:=
fmt
.
Sprintf
(
"form-data; name=
\"
file
\"
; filename=
\"
%s
\"
"
,
file
.
FileName
()
)
contentDisposition
:=
fmt
.
Sprintf
(
"form-data; name=
\"
file
\"
; filename=
\"
%s
\"
"
,
file
name
)
header
.
Set
(
"Content-Disposition"
,
contentDisposition
)
}
else
{
header
.
Set
(
"Content-Disposition"
,
fmt
.
Sprintf
(
"file; filename=
\"
%s
\"
"
,
file
.
FileName
()
))
header
.
Set
(
"Content-Disposition"
,
fmt
.
Sprintf
(
"file; filename=
\"
%s
\"
"
,
file
name
))
}
if
file
.
IsDirectory
()
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论