質問編集履歴

1

内容が大幅に変更されS3のオブジェクトに対するアクセス権について

2019/10/31 21:55

投稿

mamoth810
mamoth810

スコア8

test CHANGED
@@ -1 +1 @@
1
- 【Rails】carrierwaveを使用してPDFをPNGに変換させたい
1
+ 【Rails】S3に格納しているPNGファイルをアプリ上で表示したい
test CHANGED
@@ -1,26 +1,16 @@
1
1
  ### 実現したいこと
2
2
 
3
- RailsアプリからCarrierwaveとfogを利用してAWS S3へPDFを格納します。その際にPDFのプレビューを表示したく、サムネイルをPNG形式で作成したいです。また当然ながら作成したサムネイルをRailsアプリで表示したいのがです。
3
+ RailsアプリからCarrierwaveとfogを利用してAWS S3へPDFを格納します。その際にPDFのプレビューを表示したく、サムネイルをPNG形式で作成してます。この作成したPNG形式のサムネイルをアプリで表示したいのです、実現できていません。オブジェクトキを表示させたいです。
4
4
 
5
5
 
6
6
 
7
7
  ### 発生している問題
8
8
 
9
- PDFのコンバートを組み込まなければS3へ正常にPDFファイルを格納できます。しかし下記に記述しているコドを実装し、コバート試みるとエラー発生します。発生たメッージ2つあります。
9
+ PDFのコンバートS3へ正常にPDFファイルとPNGファイルを格納しています。しかしRailsアプリケショではログ確認するとRouting Errorと表示されていて、ファイル存在ない認識になっています。しかしS3のアクス設定正しく、ブラウザからURLを直接入力すると問題なく該当のPNGファイルは表示できます。
10
-
11
- > convert: clBuildProgram failed. (-11) @ warning/opencl.c/CompileOpenCLKernels/898.
12
-
13
- convert: clCreateCommandQueue failed. (0) @ warning/opencl.c/InitOpenCLEnvInternal/1211.
14
10
 
15
11
 
16
12
 
17
- このパタ、次のパターン
18
-
19
- > ImageProcessing::Error (Source format is multi-layer, but destination format is single-layer. If you care only about the first layer, add `.loader(page: 0)` to your pipeline. If you want to process each layer, see https://github.com/janko/image_processing/wiki/Splitting-a-PDF-into-multiple-images or use `.saver(allow_splitting: true)`.):
20
-
21
-
22
-
23
- いづれの場合も500のエラーが発生しているのでRails側で対応する必要があると推測してます。
13
+ つまりシステム上で正しくオブジェクトキが取得できておらず表示できない状態なっています
24
14
 
25
15
 
26
16
 
@@ -38,15 +28,11 @@
38
28
 
39
29
  process :resize_to_fit => [500,500]
40
30
 
41
- process :convert => 'jpg' #must convert to jpg before running paper shape
42
-
43
31
  process :paper_shape
44
-
45
- process :convert => 'jpg' #after running paper_shape it will default to original file type
46
32
 
47
33
  def full_filename (for_file = model.logo.file)
48
34
 
49
- super.chomp(File.extname(super)) + '.jpg'
35
+ super.chomp(File.extname(super)) + '.png'
50
36
 
51
37
  end
52
38
 
@@ -80,18 +66,16 @@
80
66
 
81
67
 
82
68
 
83
- た``` lib/image_processing/mini_magick.rb ```に以下の記述をすると2つ目エラーが発生しま
84
-
85
-
86
-
87
- ```Rails
88
-
89
- if layers.any?
90
-
91
- layers.each { |path| File.delete(path) }
92
-
93
- raise Error, "Source format is multi-layer, but destination format is single-layer. If you care only about the first layer, add `.loader(page: 0)` to your pipeline. If you want to process each layer, see https://github.com/janko/image_processing/wiki/Splitting-a-PDF-into-multiple-images or use `.saver(allow_splitting: true)`."
94
-
95
- end
69
+ いくつか情報を参考にしてすが、以下のコマンドどこかに入力れば解決するのかもせんが、現在、解決まで至っていません
96
70
 
97
71
  ```
72
+
73
+ file_name = "hoge_file"
74
+
75
+ s3_path = "site_b"
76
+
77
+ key = "#{s3_path}/#{file_name}"
78
+
79
+ ```
80
+
81
+ よろしくお願いします。