0

ユーザーがドキュメントをアップロードしてデータベースに保存し、データベースの親エンティティに関連付けることができるようにするMVC3アプリケーションのドキュメントアップロードページがあります。ドキュメントにアクセスできるユーザーを規定するためにユーザーがカスタマイズできる権限もいくつかあります。

Pluploadを使用してドキュメントのアップロード機能を実装しました。基本的には、ファイルのキューを取得し、この情報を受信する専用の特定のアクションにアップロードし、各ファイルが投稿されたときに動作します。一意の名前が付けられます (p16kearti61rf31qb61fogjm2127i3.jpgたとえば、のようなもの)。

すべてのファイルが plupload にアップロードされると、plupload がアップロードされたばかりのファイルに関する情報と、関連付けられるオブジェクトの主キーなどのドキュメントのその他のデータとともに、親フォームが送信されます。パーミッションの観点からチェックされたグループ。これで問題なく動作しますが、ポストバックされたデータを操作できるように、MVC がデータをバインドする厳密に型指定されたオブジェクト構造が見つからない点が異なります。これが私の Request.Form コレクションの内容のアイデアです。私が探しているのは、アクションでこの情報を最適にキャプチャする方法についての洞察です。ドキュメントのアクセス許可のコントロールの名前付けは完全に制御できますが、plupload コントロールは組み込まれており、それらを変更できるかどうかはわかりません。

__RequestVerificationToken: "...XDsBA5oZA9Ku2oPPdyyi2J+DbvoKRY9HJ2...etc"
ownerId: "CCEE2ADF-633D-4D55-90EE-2829D352BEEB"
uploader_0_tmpname: "p16kearti61rf31qb61fogjm2127i3.jpg"
uploader_0_name: "picture1.jpg"
uploader_0_status: "done"
uploader_1_tmpname: "p16kearti61kqu8tsmja67911v44.jpg"
uploader_1_name: "picture2.jpg"
uploader_1_status: "done"
uploader_2_tmpname: "p16kebp785gci1e291i543cc1c8k4.jpg"
uploader_2_name: "picture3.jpg"
uploader_2_status: "done"
uploader_count: "3"
documentGroups[B8C97C5C-B1B8-43C2-89F1-B1DF353AF677]: "false"
documentGroups[A2C8331C-7068-4611-82BF-6F0C61C8BA7D]: "false"
documentGroups[6DCBF4A8-B863-49E6-AAE9-2A0E372FF622]: "true"
documentGroups[05C04E05-D7A8-45D6-8138-2FA36F0A5922]: "false"
documentGroups[3E2F2B1B-FAAA-420A-B9A1-F223ADF66AF0]: "true"

アクションメソッドの書き方について何か提案はありますか? 私はこのようなことを望んでいましたが、私はそれを機能させることができません。

public ActionResult Upload(Guid ownerId, IList<PluploadFile> uploader, IList<bool> documentGroups)
4

1 に答える 1

1

他の誰かがこれに関する最新情報を探していた場合に備えて (そして、私の質問に対する応答がなかったので)、投稿を 2 つに分割することになりました。1 つは plUpload からアクションに渡された一意の名前 (p16kearti61rf31qb61fogjm2127i3.jpg など) を使用してファイルを一時フォルダーに保存するために使用する plUpload によって処理され、もう 1 つは情報を保持するラッピング フォームを投稿するときに使用されます。 plupload が持っている一意の名前と、元のアップロードのステータス結果を示すいくつかのフィールドが必要です。問題は、2 つの投稿であるため、ユーザーがドキュメントをアップロードしてもラッピング フォームを送信しない場合に備えて、一時フォルダーの内容を維持する必要があることです。私が望んでいた解決策ではありませんが、期待どおりに機能する代替手段はありません。

于 2012-02-14T17:11:42.570 に答える