teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

ダウンロードしたデータの中身がうまく取得できていない。

2017/03/22 02:58

投稿

tundeco
tundeco

スコア17

title CHANGED
File without changes
body CHANGED
@@ -27,7 +27,7 @@
27
27
  ```
28
28
  MySQLの定義は下記の通りになります。
29
29
  |user_file_type|user_file_name|user_file_size|user_file|
30
- |:--|:--:|:--:|--:|
30
+ |:--|:--|:--|:--|
31
31
  |VARCHAR(255)|VARCHAR(255)|int(11)|MEDIUMBLOB|
32
32
  |ExcelやWordなどファイル形式は指定せず、ファイルタイプがセットされる。|ファイル名がセットされる。|ファイルのサイズがセットされる|ファイルそのものがバイナリでセットされる。|
33
33
  user_file_type(VARCHAR):ExcelやWordなどファイル形式は指定せず、ファイルタイプがセットされる。

4

ダウンロードしたデータの中身がうまく取得できていない。

2017/03/22 02:57

投稿

tundeco
tundeco

スコア17

title CHANGED
File without changes
body CHANGED
@@ -26,10 +26,12 @@
26
26
  }
27
27
  ```
28
28
  MySQLの定義は下記の通りになります。
29
+ |user_file_type|user_file_name|user_file_size|user_file|
30
+ |:--|:--:|:--:|--:|
31
+ |VARCHAR(255)|VARCHAR(255)|int(11)|MEDIUMBLOB|
32
+ |ExcelやWordなどファイル形式は指定せず、ファイルタイプがセットされる。|ファイル名がセットされる。|ファイルのサイズがセットされる|ファイルそのものがバイナリでセットされる。|
29
33
  user_file_type(VARCHAR):ExcelやWordなどファイル形式は指定せず、ファイルタイプがセットされる。
30
- 例)application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
34
+ user_file_typeの例)application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
31
- user_file_name(VARCHAR):ファイル名がセットされる。
32
- user_file(MEDIUMBLOB):ファイルそのものがセットされる。
33
35
 
34
36
  ご回答お願い致します。
35
37
 

3

ダウンロードしたデータの中身がうまく取得できていない。

2017/03/22 02:57

投稿

tundeco
tundeco

スコア17

title CHANGED
File without changes
body CHANGED
@@ -32,8 +32,9 @@
32
32
  user_file(MEDIUMBLOB):ファイルそのものがセットされる。
33
33
 
34
34
  ご回答お願い致します。
35
+
36
+ **追記・変更**
35
37
  ---
36
- **追記・変更**
37
38
  Controllerをソースの通り、
38
39
  headerをセットして、echoでファイルを指定するように変更したところ、
39
40
  DBのファイル名でダウンロードされるようにはなったのですが、

2

ダウンロードしたデータの中身がうまく取得できていない。

2017/03/22 02:49

投稿

tundeco
tundeco

スコア17

title CHANGED
File without changes
body CHANGED
@@ -32,8 +32,8 @@
32
32
  user_file(MEDIUMBLOB):ファイルそのものがセットされる。
33
33
 
34
34
  ご回答お願い致します。
35
-
35
+ ---
36
- 追記・変更
36
+ **追記・変更**
37
37
  Controllerをソースの通り、
38
38
  headerをセットして、echoでファイルを指定するように変更したところ、
39
39
  DBのファイル名でダウンロードされるようにはなったのですが、

1

ダウンロードしたデータの中身がうまく取得できていない。

2017/03/22 02:28

投稿

tundeco
tundeco

スコア17

title CHANGED
File without changes
body CHANGED
@@ -15,9 +15,14 @@
15
15
  ```PHP
16
16
  public function download($id=null) {
17
17
  $this->autoRender = false;
18
- $this->response->type($user->user_file_type);
18
+ // $this->response->type($user->user_file_type);
19
- $this->response->file($user->user_file); //ここの引数をどうしたらよいかで詰まっています。
19
+ // $this->response->file($user->user_file); //ここの引数をどうしたらよいかで詰まっています。
20
- $this->response->download($user->user_file); //ここの引数をどうしたらよいかで詰まっています。
20
+ // $this->response->download($user->user_file); //ここの引数をどうしたらよいかで詰まっています。
21
+ header('Content-type: ' . $user['user_file_type']);
22
+ header('Content-length: ' . $user['user_file_size']);
23
+ header('Content-Disposition: attachment; filename="'.$user['user_file_name'].'"');
24
+ echo $user['user_file'];
25
+
21
26
  }
22
27
  ```
23
28
  MySQLの定義は下記の通りになります。
@@ -26,4 +31,11 @@
26
31
  user_file_name(VARCHAR):ファイル名がセットされる。
27
32
  user_file(MEDIUMBLOB):ファイルそのものがセットされる。
28
33
 
29
- ご回答お願い致します。
34
+ ご回答お願い致します。
35
+
36
+ 追記・変更
37
+ Controllerをソースの通り、
38
+ headerをセットして、echoでファイルを指定するように変更したところ、
39
+ DBのファイル名でダウンロードされるようにはなったのですが、
40
+ 中身がすべて「Resource id #000」となってしまいます。
41
+ BLOBに格納したデータが正しくダウンロードする方法をご存知の方がいらっしゃいましたらご回答お願い致します。