質問編集履歴
4
kintoneタグ追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
3
誤記訂正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
Guzzle ファイル名が日本語のファイルをアップロードするとファイル名が消える
|
body
CHANGED
File without changes
|
2
内容修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
Guzzleを使ってフォームからファイルをアップロードさせる機能を作っています。アップロード先はkintoneで、Excel,Word,pdf,jpgなどをアップロードします。表題の通りファイル名が日本語の時にファイル名が正しく出ず、docxでは開けなくなってしまいます。
|
2
|
+
(追記)kintoneのドキュメントに「※日本語ファイル名の場合は UTF8 でエンコードした内容を指定して下さい。」と記載がありました。
|
2
3
|
|
3
4
|
試したこと
|
4
5
|
Uploadテスト.docx → 問題なし(アップロード後のファイル名:Uploadテスト.docx)
|
5
6
|
Upload_test.docx → 問題なし(アップロード後のファイル名:Upload_test.docx)
|
6
7
|
テスト.docx → 問題あり(アップロード後のファイル名:.docx)
|
8
|
+
ファイル名をエンコードしてみましたが同じ結果でした。
|
7
9
|
|
8
10
|
流れとしては
|
9
11
|
フォームからGuzzleでkintoneへファイルをアップロード
|
@@ -34,7 +36,7 @@
|
|
34
36
|
また、var_dumpでヘッダーをみてみたところ
|
35
37
|
["Content-Type"]=> array(1) { [0]=> string(30) "application/json;charset=utf-8" }
|
36
38
|
となっておりました。
|
37
|
-
調べてもドキュメントをみても解決方法が見つからず困っています。
|
39
|
+
エンコードの仕方が間違っていますでしょうか。調べてもGuzzleドキュメントをみても解決方法が見つからず困っています。
|
38
40
|
初心者なため簡単な解決法をどうかご教授いただければ幸いです。
|
39
41
|
|
40
42
|
【環境】
|
@@ -50,13 +52,14 @@
|
|
50
52
|
'http_errors' => false
|
51
53
|
]);
|
52
54
|
|
55
|
+
$filename = mb_convert_encoding($_FILES['resume']['name'], "UTF-8", "auto");
|
53
56
|
|
54
57
|
$res = $client->request('POST', $Url,[
|
55
58
|
'multipart' => [
|
56
59
|
[
|
57
60
|
'name' => 'file',
|
58
61
|
'contents' =>fopen($_FILES['file']['tmp_name'], 'r'),
|
59
|
-
'filename' => $
|
62
|
+
'filename' => $filename,
|
60
63
|
]
|
61
64
|
],
|
62
65
|
'headers' => [
|
1
誤記訂正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
goGuzzle ファイル名が日本語のファイルをアップロードするとファイル名が消える
|
body
CHANGED
@@ -55,7 +55,7 @@
|
|
55
55
|
'multipart' => [
|
56
56
|
[
|
57
57
|
'name' => 'file',
|
58
|
-
'contents' =>fopen($_FILES['
|
58
|
+
'contents' =>fopen($_FILES['file']['tmp_name'], 'r'),
|
59
59
|
'filename' => $_FILES['file']['name'],
|
60
60
|
]
|
61
61
|
],
|