Upload файлов с помощью MVC+jQuery

Darooma
Дата: 24.05.2010 23:32:57
Я делаю контрол (некая кнопка), который будет делать upload файла при клиентском клике на него с помощью jQuery, посылая post запрос action'у.

Как должен выглядеть код этого экшэна, который делает upload файла?
public ActionREsult UploadFile(string fileName){
//....Как сделать upload файла?
}
ShSerge
Дата: 24.05.2010 23:59:02
Darooma
Я делаю контрол (некая кнопка), который будет делать upload файла при клиентском клике на него с помощью jQuery, посылая post запрос action'у.

Вы хоть сами поняли, что написали?
У Вас не получится. Потому что это делается не по клиентской кнопке клик, а через специальный элемент, например, если на Вашей отрендеренной странице лежит <input type="file"... (fileupload в webforms). Причём, сама форма enctype="multipart/form-data".

Darooma,
иногда почитать что-то не мешает, не заметили, что Вам никто не отвечает? Кроме меня, причём, на меня Вы нажаловались модератору (т.е., мне). Подумайте, не странно ли это?
bured
Дата: 25.05.2010 00:35:38
Что самое странное - код серверный.

На клиенте делайте инпут с кнопкой. На клик вешайте post запрос. Как тут.
Что там на сервере должно быть - без понятия. Не увлекаюсь MVC.
bured
Дата: 25.05.2010 00:41:05
ShSerge
... причём, на меня Вы нажаловались модератору (т.е., мне). Подумайте, не странно ли это?

Сергей, надо было самозабаниться!
bured
Дата: 25.05.2010 02:25:04
Хотя может я лажу написал. У MVC совсем другая идеология...
vladgrig
Дата: 25.05.2010 07:59:38
<Authorize()> _
    <AcceptVerbs(HttpVerbs.Post)> _
   Function AddPhoto(ByVal discription As FormCollection) As ActionResult

        Dim UploadedFiles As New List(Of NailsPhoto)

        For i As Integer = 0 To Request.Files.Count - 1

            Try

                Dim hpf As HttpPostedFileBase = CType(Request.Files(i), HttpPostedFileBase)
                If hpf.ContentLength = 0 Or hpf.ContentType.Contains("image") = False Then
                    Continue For
                End If

                Using img = Image.FromStream(hpf.InputStream, True, True)

                    UploadedFiles _
                                .Add( _
                                    ModelRepository.NailsPhotoSave( _
                                                    New NailsPhoto _
                                                            With { _
                                                                .Value = img, _
                                                                .Name = hpf.FileName.Replace(" ", ""), _
                                                                .Size = hpf.ContentLength, _
                                                                .Description = discription(i) _
                                                            } _
                                   ) _
                                )
                End Using


            Catch ex As Exception
                Logging.WriteErrorLog(String.Format("ErrorMessage: {0}{2}{2}ErrorStackTrace: {1}", ex.Message, ex.StackTrace, vbNewLine))
            End Try

        Next

        Return View(UploadedFiles)

    End Function
механизм такой - под себя точи сам!
Darooma
Дата: 25.05.2010 17:14:20
vladgrig, что такое UploadedFiles? Если это класс, то как он реализует upload файла?
bured
Дата: 25.05.2010 17:24:49
Darooma
vladgrig, что такое UploadedFiles? Если это класс, то как он реализует upload файла?

у тебя как хоть программировать-то получается ещё?
Я круглый ноль в MVC и то понял, что на сервере вытаскиваешь файлы из Request.Files. Всё остальное - индивидуальная логика Владгрида.
vladgrig
Дата: 25.05.2010 22:36:45
автор
vladgrig, что такое UploadedFiles? Если это класс, то как он реализует upload файла?

 Dim UploadedFiles As New List(Of NailsPhoto)
только ЭТО - комерческая тайна! так что никому! ;)
автор
на сервере вытаскиваешь файлы из Request.Files.

как бэ ДА + ключевые строки =
Dim hpf As HttpPostedFileBase = CType(Request.Files(i), HttpPostedFileBase)
и дальше вполне очевидно
hpf.InputStream
hpf.FileName
hpf.ContentLength
and etc.
как бы ВСЁ! ;)

ПыСы: зы - discription = dEscription!!!
Darooma
Дата: 25.05.2010 22:57:30
vladgrig, спасибо.