質問編集履歴

4

目標の追記

2017/09/01 04:55

投稿

naooni
naooni

スコア14

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  アプリ内で入力した情報を端末内にファイルとして保存しています。
10
10
 
11
- CocoaHTTPServerを使って、アプリ内のファイルをPCのブラウザからダウンロードさせたいです。
11
+ 保存したファイルをPCのブラウザからダウンロードさせたく、CocoaHTTPServerを使ってみましたが実現できてない状態です。
12
12
 
13
13
 
14
14
 
@@ -160,4 +160,12 @@
160
160
 
161
161
  アプリ側に持たせるhtmlファイルの書き方も含めてご教授頂けると有難いです。
162
162
 
163
+
164
+
165
+ そもそもですが、CocoaHTTPServer以外で実現できる方法があれば乗り換えることは大丈夫です。
166
+
167
+ ただしPCやiOS端末がインターネットに接続しない想定のため、DropboxやGoogleDriveは使えない状態です。
168
+
169
+
170
+
163
171
  よろしくお願いいたします。

3

試行内容追記

2017/09/01 04:55

投稿

naooni
naooni

スコア14

test CHANGED
File without changes
test CHANGED
@@ -70,6 +70,86 @@
70
70
 
71
71
  }
72
72
 
73
+ ```
74
+
75
+
76
+
77
+ ###試したこと②
78
+
79
+ アプリ内のHTTPファイルにダウンロードタグを配置し、パスを動的に変更させてみました。
80
+
81
+ 表示されるリンクの内容は、アプリ内で参照できるURIになっていますがクリックしても何も起こりませんでした。
82
+
83
+ リンクを右クリックで「対象をファイルに保存」ではファイル名だけは正しい0バイトのファイルがダウンロードされました。
84
+
85
+
86
+
87
+ ```html
88
+
89
+ <!DOCTYPE HTML>
90
+
91
+ <html lang="ja">
92
+
93
+ <head>
94
+
95
+ <meta charset="utf-8" />
96
+
97
+ <title>ファイルダウンロード</title>
98
+
99
+ </head>
100
+
101
+ <body>
102
+
103
+ <form action="upload.html" method="get" enctype="multipart/form-data" accept-charset="utf-8">
104
+
105
+ <a href=%RPATH%>Download</a><br/>
106
+
107
+ <br/>
108
+
109
+ </form>
110
+
111
+ </body>
112
+
113
+ </html>
114
+
115
+
116
+
117
+ ```
118
+
119
+
120
+
121
+ ```objective-c
122
+
123
+ - (NSObject<HTTPResponse> *)httpResponseForMethod:(NSString *)method URI:(NSString *)path
124
+
125
+ {
126
+
127
+ HTTPLogTrace();
128
+
129
+
130
+
131
+ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
132
+
133
+ NSString *strDocPath = paths[0];
134
+
135
+
136
+
137
+ NSString *csvFilePath = [strDocPath stringByAppendingPathComponent:@"sample.txt"];
138
+
139
+ NSDictionary* replacementDict = [NSDictionary dictionaryWithObjectsAndKeys:csvFilePath, @"RPATH", nil];
140
+
141
+
142
+
143
+ NSString* templatePath = [[config documentRoot] stringByAppendingPathComponent:@"download/index.html"];
144
+
145
+ return [[HTTPDynamicFileResponse alloc] initWithFilePath:templatePath forConnection:self separator:@"%" replacementDictionary:replacementDict];
146
+
147
+
148
+
149
+
150
+
151
+ }
152
+
73
153
 
74
154
 
75
155
  ```

2

説明追記

2017/08/30 04:22

投稿

naooni
naooni

スコア14

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  次のコードはMyHTTPConnection内のhttpResponseForMethodメソッドをカスタマイズしたものです。
20
20
 
21
- これでPCのブラウザからアクセスすると、ブラウザにsample.txtの中身の羅列が表示されました。。
21
+ アプリ内にsample.txtを配置して、PCのブラウザからアクセスすると、ブラウザにsample.txtの中身の羅列が表示されました。。
22
22
 
23
23
 
24
24
 

1

説明追記

2017/08/30 02:12

投稿

naooni
naooni

スコア14

test CHANGED
File without changes
test CHANGED
@@ -19,6 +19,10 @@
19
19
  次のコードはMyHTTPConnection内のhttpResponseForMethodメソッドをカスタマイズしたものです。
20
20
 
21
21
  これでPCのブラウザからアクセスすると、ブラウザにsample.txtの中身の羅列が表示されました。。
22
+
23
+
24
+
25
+ このカスタマイズは本家のサンプルをコピーしたもので、コメントアウトした部分がありますが、そこに置き換えても結果は同じでした。
22
26
 
23
27
  ```objective-c
24
28