2011-01-18 1 views
0

CMSの場合、ユーザーはCMSに接続する写真をアップロードすることができます。これは、誰かが新しいレコードを作成するときに写真をアップロードするまでうまくいく。GUIDをイメージ名とする新しいレコードのジレンマをアップロードする

ここでの問題は、すべての製品にGUID(ProductID(PK)の隣に)があり、初めて製品を保存するときに作成されるということです。 Uploadify jqueryプラグインを使用してウェブサービスの画像をアップロードしていますので、すべてがajaxベースの方法です。しかし、イメージアップローダーは正しいディレクトリにGUIDを格納する必要があります。

私の一時的な修正だけで、ユーザーがそう呼ばれているGUIDをアップロードする前に製品を保存できるようにしたが、それは非常にユーザーフレンドリーではないと私はより良い方法があるだろうと確信しているが、私は満足のいく1を自分で見つけることができません。

これは私がこれを考え出すことができる唯一のオプションは、ちょっとOKですが、多分私は完全に何かが欠けている:

  • 製品を保存せずにGUIDを作成し、その画像をアップロードすることができ後でGUIDを持つ製品を保存することができます。しかし、ユーザーがアップロードした後にナビゲートするとどうなりますか?私はたぶんそれらの孤児の画像を削除する予定のタスクを作成することができます

誰も同じようなシナリオを扱っていますか?この機能はCMSの複数のセクションで使用されるので、私は彼の問題についてあなたの意見に非常に興味があります。

ありがとうございました!

敬具、 マーク

答えて

1

あなたはほとんど自分で質問に答えました。

キーは一時ファイルです。ちょっとスマートな方法です:画像を一時フォルダに保存し、Sessionオブジェクトの画像名を覚えておいてください。ユーザーがGlobal.asaxのSession_Endメソッドで移動した場合は、それらの画像を削除してください(はゴミ収集、)。

ユーザーが製品を保存した場合は、画像を永久保存して名前を付けてください。

+0

ありがとうございました。私が探していたリンクが不足している可能性があります。完璧! – Mark

+1

Session_Endは、inprocのセッション状態プロバイダ(asp.netで提供されているもののうち)の場合にのみ起動されることに注意してください。状態サーバーとSQLサーバー実装はSession_Endを起動しません。 – sisve

関連する問題