回答編集履歴

1

追記

2018/04/18 03:24

投稿

CHERRY
CHERRY

スコア25171

test CHANGED
@@ -18,4 +18,120 @@
18
18
 
19
19
 
20
20
 
21
- 返還後の`画像ファイル名new.jpg`が、保存されていると思いますので、exif が削除されているか確認してください。
21
+ 返還後のファイル `画像ファイル名new.jpg` が、保存されていると思いますので、exif が削除されているか確認してください。
22
+
23
+
24
+
25
+ ----
26
+
27
+
28
+
29
+ (追記)
30
+
31
+
32
+
33
+ パソコンから見て気がつきましたが、質問に書かれた ImageMagick プログラムは ImageMagick の処理を入れている位置がおかしいですね。(スマホからみていたので、見落としていました。)
34
+
35
+
36
+
37
+
38
+
39
+ 質問に書かれているプログラムでは、ImageMagick の `Write( $ImgFile );` で保存した後に `open(OUT,"> $ImgFile")` して、アップロードした画像をそのまま保存しているので、保存した画像ファイルを確認しても Exif は削除されていなかったのだと思われます。
40
+
41
+
42
+
43
+ 以下、現在テスト環境がないので、テストできていないのですが...
44
+
45
+
46
+
47
+ 質問のプログラムの
48
+
49
+
50
+
51
+ > $ImgFile = "$ImgUrl$no$tail";
52
+
53
+ >  ####以下を追記してみましたがアップされた写真のexif情報は削除されませんでした####
54
+
55
+ > my $im = new Image::Magick;
56
+
57
+ > $im -> Read( $ImgFile );
58
+
59
+ > $im -> Strip;
60
+
61
+ > $im -> Write( $ImgFile );
62
+
63
+ >  ####//追記####
64
+
65
+ > open(OUT,"> $ImgFile") || &error("画像のアップロードに失敗しました","lock");
66
+
67
+ > binmode(OUT);
68
+
69
+ > binmode(STDOUT);
70
+
71
+ > print OUT $upfile;
72
+
73
+ > close(OUT);
74
+
75
+ > chmod (0666,$ImgFile);
76
+
77
+
78
+
79
+ を 下記のように変更したら Image::Magick モジュールで、Exif を削除できないでしょうか?
80
+
81
+
82
+
83
+ ```
84
+
85
+ $ImgFile = "$ImgUrl$no$tail";
86
+
87
+ open(OUT,"> $ImgFile") || &error("画像のアップロードに失敗しました","lock");
88
+
89
+ binmode(OUT);
90
+
91
+ binmode(STDOUT);
92
+
93
+ print OUT $upfile;
94
+
95
+ close(OUT);
96
+
97
+ chmod (0666,$ImgFile);
98
+
99
+
100
+
101
+ my $im = new Image::Magick;
102
+
103
+ $im->Read( $ImgFile );
104
+
105
+ $im->Strip;
106
+
107
+ $im->Write( $ImgFile );
108
+
109
+ ```
110
+
111
+
112
+
113
+ さらに、$upfile に アップロードした画像データが入っているのであれば、画像を保持している変数($upfile)から読み込むようにして、Image::Magick で処理後に保存する方法が良さそうです。
114
+
115
+ ( [Perl-Magick : Working with Blobs](http://www.imagemagick.org/script/perl-magick.php#blobs)参照 )
116
+
117
+
118
+
119
+ ```
120
+
121
+ $ImgFile = "$ImgUrl$no$tail";
122
+
123
+
124
+
125
+ my $im = new Image::Magick();
126
+
127
+ $im->BlobToImage($upfile);
128
+
129
+ $im->Strip;
130
+
131
+ $im->Write( $ImgFile );
132
+
133
+
134
+
135
+ chmod (0666,$ImgFile);
136
+
137
+ ```