回答編集履歴

1

追記追加

2016/12/09 04:48

投稿

退会済みユーザー
test CHANGED
@@ -43,3 +43,59 @@
43
43
 
44
44
 
45
45
  (4-3) ファイル名に日本語(ASCII 文字以外)を使うと文字化けするので、とりあえず使わないようにしてテストしてください。
46
+
47
+
48
+
49
+ ************【2016/12/9 13:45 追記】************
50
+
51
+
52
+
53
+ 下の私の 2016/12/09 13:18 のコメントで「回答欄に Button1_Click メソッドの実装例を追記しておきます」と書きましたが、それを以下に書きます。ファイル名はとりあえず ASCII 文字限定としてください。
54
+
55
+
56
+
57
+ ```
58
+
59
+ protected void Button1_Click(object sender, EventArgs e)
60
+
61
+ {
62
+
63
+ string fpath = ((Button)sender).CommandArgument;
64
+
65
+ Response.Clear();
66
+
67
+ Response.AppendHeader("Content-Disposition",
68
+
69
+ "attachment; filename=" + Path.GetFileName(fpath));
70
+
71
+ Response.ContentType = "text/plain"; // C ソースのテキストファイルを想定
72
+
73
+ Response.TransmitFile(fpath);
74
+
75
+ Response.End();
76
+
77
+ }
78
+
79
+ ```
80
+
81
+
82
+
83
+ うまく行かなかったら、以下の点を確認してください。
84
+
85
+
86
+
87
+ (1) fpath に cppTable メソッドで設定した winPath が取得できているか。
88
+
89
+
90
+
91
+ (2) ワーカープロセスは fpath で指定されるファイルの読み取り権限を持っているか。(開発マシンで、Visual Studio から IIS Express を使用して動かしている場合は、質問者さんが開発マシンにログインしたアカウントの権限になるはず。まずはその条件で試してみてください)
92
+
93
+
94
+
95
+ 日本語のファイル名の対応は、話が非常に長くなるので、上記でダウンロードがうまくいったらこのスレッドはクローズし、新たに別のスレッドを立てて質問するようにしてください。
96
+
97
+
98
+
99
+ 推奨されていない Response.End() を避ける方法についても、新たに別のスレッドを立てて質問するようにしてください。
100
+
101
+