Зацикливание опубликованных файлов, загруженных с помощью uploadify в MVC3 - PullRequest
1 голос
/ 09 августа 2011

Я использую uploadify для загрузки нескольких файлов в приложение MVC 3. Если я выбираю несколько файлов и нажимаю «Загрузить», я получаю файлы, но по одному в контроллере. Я хочу, чтобы опубликованные файлы были собраны, чтобы я мог их просматривать.

Я видел несколько связанных постов здесь , но я не могу использовать это, так как он не использует uploadify.

Есть идеи, как это сделать?

Razor Посмотреть код:

<input type="file" id="file_upload" name="file_upload" />
<a onclick="Upload();" style="font:12px Arial; text-decoration: none; outline: none;">Upload</a>
<input type="hidden" id="CanFiles" />

$('#file_upload').uploadify({
            'uploader': '/content/uploadify/uploadify.swf',
            'script': '/upload/UploadFiles',
            'scriptData': { 'auth': auth, 'sid': sid, 'multi': 1 },
            'cancelImg': '/content/uploadify/cancel.gif',
            'folder': '/content/uploadify/uploads',
            'auto': false,
            'multi': true,
            'simUploadLimit': 1,
            'expressInstall': '/content/uploadify/expressInstall.swf',
});

текущее действие контроллера:

public ActionResult UploadFiles()
{
    foreach (string fileName in Request.Files)
    {
       //this always get 1 file and action gets called once for each file
    }
}

Вот что я хочу:

public ActionResult UploadFiles(IEnumerable<HttpPostedFileBase> files)
{
    //loop the files posted
}

1 Ответ

0 голосов
/ 09 августа 2011

То, что вам нужно, это отправка нескольких файлов в одно и то же действие.Для этого нет необходимости использовать библиотеку, например uploadify.Вы можете легко сделать следующее: написать javascript, чтобы скрыть элемент файла, как только пользователь выберет файл, и создать новый элемент файла на его месте.Таким образом, у вас есть несколько файловых элементов, указывающих на разные файлы, все, кроме одного, скрыты, но присутствуют на странице, и когда пользователь отправляет форму, вы получаете все файлы в массиве Request.Files.Я отредактирую этот ответ и вскоре предоставлю вам образец.

РЕДАКТИРОВАТЬ:

Вот пример:

http://the -stickman.com / web-development / javascript / upload-множественные файлы-с-одним-элементом-файлом /

Это немного базово, хотя вы можете заставить его работать.

...