アプリ版:「スタンプのみでお礼する」機能のリリースについて

画像のアップロードは大きく分けて以下の3つの方法があると思います

(1)
●画像を (ユニークID).jpg の名前で保存
呼び出すときは、ユニークIDに紐付いた画像を呼び出す。

(2)
●画像を (任意のファイル名).jpg の名前で保存
同時に、画像のファイル名をデータベースに保存。
呼び出すときはデータベースに保存されたファイル名に紐付いた画像を呼び出す

(3)
●画像データをデータベースに直接保存
呼び出すときは、データベースから呼び出す

どの方法が一番いいでしょう?

A 回答 (3件)

1は競合・上書をユーザーにゆだねる時点で不特定のユーザーが


利用するシステムにはつかえません。
管理に特定の権限をもった任意のユーザーが使うにしても
ファイル管理をさせるのは危険です。

3はオーバーヘッドを考慮すればあまりよいやり方とはいえません

基本的には2が選択されますが、あえて必要がなければDBで紐づけをせず
アップする際にユニークと思われる任意のidを発行し、
実際にそのファイル名に競合がないことが確認されたばあい
採用されるような仕組みで処理することも可能です。
(もとのファイル名など気にしないのであれば)

たとえば日時ミリ秒でハッシュしたり、うんぬん
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ファイル名がかぶるのだけは注意しないといけないですね

お礼日時:2012/10/15 13:24

僕は1に近い2との併用な感じをよく使います。



画像データにユニークIDで名前付けして、ファイル名とユニークIDの紐付けをDBで管理しています。

・不特定多数の人が利用するシステムで名前付けに自由度を持たせる。
・ファイル情報を細かく管理したい。

などで、DB管理が楽なのでこの方法を採用しています。

名前の重複も可能になったりするので、自由だけど管理に注意が必要ですが…

でも、みなさん色んな条件や考えがあり、多分答えは無いんでしょうね。
条件場合によっては3が効率的な場合もあるだろうし。(あんまり想像できないけど)

^-^
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
画像が入ってるかどうかもDBで一目瞭然なので
2が一番いいのかもしれませんね。

お礼日時:2012/10/15 13:23

こんにちは。



負荷や管理のしやすさで多用するのは(2)です。

サーバスペックが高くて負荷を気にしないシステムで(3)を利用しました。
これだと削除処理も一発です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2012/10/15 13:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!