summaryrefslogtreecommitdiff
path: root/std/mime
diff options
context:
space:
mode:
Diffstat (limited to 'std/mime')
-rw-r--r--std/mime/multipart.ts2
-rw-r--r--std/mime/multipart_test.ts4
-rw-r--r--std/mime/testdata/sample.txt30
3 files changed, 24 insertions, 12 deletions
diff --git a/std/mime/multipart.ts b/std/mime/multipart.ts
index abe46f820..75d418c92 100644
--- a/std/mime/multipart.ts
+++ b/std/mime/multipart.ts
@@ -206,7 +206,7 @@ class PartReader implements Reader, Closer {
const cd = this.headers.get("content-disposition");
const params: { [key: string]: string } = {};
assert(cd != null, "content-disposition must be set");
- const comps = cd.split(";");
+ const comps = decodeURI(cd).split(";");
this.contentDisposition = comps[0];
comps
.slice(1)
diff --git a/std/mime/multipart_test.ts b/std/mime/multipart_test.ts
index e12a2f399..61afdba03 100644
--- a/std/mime/multipart_test.ts
+++ b/std/mime/multipart_test.ts
@@ -188,6 +188,10 @@ test({
const file = form.file("file");
assert(isFormFile(file));
assert(file.content !== void 0);
+ const file2 = form.file("file2");
+ assert(isFormFile(file2));
+ assert(file2.filename === "中文.json");
+ assert(file2.content !== void 0);
o.close();
},
});
diff --git a/std/mime/testdata/sample.txt b/std/mime/testdata/sample.txt
index 97e9bf553..8c7a1c204 100644
--- a/std/mime/testdata/sample.txt
+++ b/std/mime/testdata/sample.txt
@@ -12,16 +12,24 @@ bar
content-disposition: form-data; name="file"; filename="tsconfig.json"
content-type: application/octet-stream
-{
- "compilerOptions": {
- "target": "es2018",
- "baseUrl": ".",
- "paths": {
- "deno": ["./deno.d.ts"],
- "https://*": ["../../.deno/deps/https/*"],
- "http://*": ["../../.deno/deps/http/*"]
- }
- }
-}
+{
+ "compilerOptions": {
+ "target": "es2018",
+ "baseUrl": ".",
+ "paths": {
+ "deno": ["./deno.d.ts"],
+ "https://*": ["../../.deno/deps/https/*"],
+ "http://*": ["../../.deno/deps/http/*"]
+ }
+ }
+}
+
+----------------------------434049563556637648550474
+content-disposition: form-data; name="file2"; filename="中文.json"
+content-type: application/octet-stream
+
+{
+ "test": "filename"
+}
----------------------------434049563556637648550474--