Отправка коллекции в MVC3 из Plupload - PullRequest
0 голосов
/ 27 января 2012

У меня есть документ страница загрузки в приложении MVC3 , которая позволяет пользователю загружать документы , хранящиеся в базе данных и связанные с родителем. сущность в базе данных. Есть также некоторые разрешения, которые пользователь может настроить, чтобы указать, кто может получить доступ к документу.

Я реализовал функцию загрузки документов с помощью Plupload , с которым он работает, по сути, он берет очередь файлов и загружает их для меня в специальное действие, предназначенное для получения этой информации, и когда они публикуются, каждому файлу присваивается уникальное имя (например, p16kearti61rf31qb61fogjm2127i3.jpg)

После того, как все файлы были загружены в plupload, в родительскую форму отправляется информация о загруженных файлах plupload, а также некоторые другие данные для документов, например, первичный ключ объекта, с которым они должны быть связаны. и группы, которые были отмечены для его аспекта полномочий. Теперь это работает нормально, за исключением того, что я не могу найти строго типизированную структуру объекта, к которой MVC будет привязывать мои данные, чтобы я мог работать с опубликованными данными. Вот идея того, что находится в моей коллекции Request.Form , что я ищу, так это некоторое представление о том, как лучше всего захватить эту информацию в моих действиях. У меня есть полный контроль над именами элементов управления для разрешений документа, но встроенные элементы управления загрузкой, и я не знаю, смогу ли я их изменить.

__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)

1 Ответ

1 голос
/ 14 февраля 2012

На всякий случай, если кто-то еще искал обновления по этому вопросу (и так как я не получил ответа на свой вопрос о чем-либо), я в итоге разделил свой пост на две части;один обрабатывается plUpload, который я использую для сохранения файла (ов) во временную папку, используя уникальные имена, переданные в Action из plUpload (например, p16kearti61rf31qb61fogjm2127i3.jpg), а другой, когда я публикую форму переноса, которая содержит информациюМне нужен и plupload уникальных имен, а также некоторые поля, указывающие на статус результата первоначальной загрузки.Проблема состоит в том, что, поскольку это две публикации, мне теперь нужно следить за сохранением содержимого моей временной папки на тот случай, если пользователь загружает документы, но не отправляет форму переноса.Не то решение, которое я хотел, но я не могу работать альтернативно, как ожидалось.

...