質問編集履歴

2

追記をしました。

2020/06/03 10:05

投稿

moshi
moshi

スコア90

test CHANGED
File without changes
test CHANGED
@@ -95,3 +95,21 @@
95
95
 
96
96
 
97
97
  このレスポンスをtaskで受け取ってそれでファイルの作成をしました。
98
+
99
+
100
+
101
+
102
+
103
+ ### 追記2(試してみたこと)
104
+
105
+ 元のファイル(サーバー側)のファイルと出力したファイル(ローカル側)のファイルをバイナリを比較するツールで比較してみたところ、84%おなじだが別のファイルとみなされていました。
106
+
107
+
108
+
109
+ そこで出力結果をネットワークストリームではなくファイル(java.txt)に書きだしし、それをZIPにリネーム(java.zip)にしてみたところバイナリ的にも同じものになりました。
110
+
111
+ 当然、解凍してもファイルの破損などもありませんでした。
112
+
113
+
114
+
115
+ そうするとやはりC#側のファイルの作りかたの問題でしょうか?

1

追記をしました

2020/06/03 10:05

投稿

moshi
moshi

スコア90

test CHANGED
File without changes
test CHANGED
@@ -61,3 +61,37 @@
61
61
  ### 補足情報(FW/ツールのバージョンなど)
62
62
 
63
63
  Windows
64
+
65
+
66
+
67
+ ### 追記
68
+
69
+ 以前、この機能を実現するためのSpringbootアプリケーションの処理として
70
+
71
+ 「サーバ側はクライアント側からのzipファイルDLリクエストが来たら、当該のファイルをバイナリで読み込み、内容をそのままresponseのoutputStreamに突っ込みます。」
72
+
73
+ と、教えていただいたのでSpringboot側では以下のソースを作成しました。
74
+
75
+ ```
76
+
77
+ @PostMapping("/download")
78
+
79
+ public void zipDownload(@RequestBody String path, HttpServletResponse res) throws IOException {
80
+
81
+
82
+
83
+ File file = new File(path);
84
+
85
+ res.setContentLength((int) file.length());
86
+
87
+ res.setContentType("application/octet-stream;charset=Shift_JIS");
88
+
89
+ FileCopyUtils.copy(new FileInputStream(file), res.getOutputStream());
90
+
91
+ }
92
+
93
+ ```
94
+
95
+
96
+
97
+ このレスポンスをtaskで受け取ってそれでファイルの作成をしました。