質問編集履歴
1
内容が大幅に変更されS3のオブジェクトに対するアクセス権について
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
【Rails】
|
1
|
+
【Rails】S3に格納しているPNGファイルをアプリ上で表示したい
|
test
CHANGED
@@ -1,26 +1,16 @@
|
|
1
1
|
### 実現したいこと
|
2
2
|
|
3
|
-
RailsアプリからCarrierwaveとfogを利用してAWS S3へPDFを格納します。その際にPDFのプレビューを表示したく、サムネイルをPNG形式で作成し
|
3
|
+
RailsアプリからCarrierwaveとfogを利用してAWS S3へPDFを格納します。その際にPDFのプレビューを表示したく、サムネイルをPNG形式で作成してます。この作成したPNG形式のサムネイルをアプリで表示したいのですが、実現できていません。オブジェクトキーを表示させたいです。
|
4
4
|
|
5
5
|
|
6
6
|
|
7
7
|
### 発生している問題
|
8
8
|
|
9
|
-
PDFのコンバート
|
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)) + '.
|
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
|
-
ま
|
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
|
+
よろしくお願いします。
|