Asp.net MVC Upload file & save data?

как сохранить файл в блоб win azure и данные формы в SQL Azure по нажатию на кнопку Create?


отдельно получается как вместе сделать не могу найти.

7TqpK.jpg


Заранее спасибо.
  • Вопрос задан
  • 7536 просмотров
Решения вопроса 1
masterOk
@masterOk Автор вопроса
вот решение мне подсказали
stackoverflow.com/questions/4784225/mvc-3-file-upload-and-model-binding
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@slrzz
Я не работал с Azure, но, думаю, будет примерно следующее:
        [HttpPost]
        public ActionResult UploadForm(string ProductName, string Code, string Url)
        {
            var files = HttpContext.Request.Files;
            StreamReader stream = new StreamReader(files[0].InputStream);

            var fileToAdd = default(byte[]);
            using (var memstream = new MemoryStream())
            {
                stream.BaseStream.CopyTo(memstream);
                fileToAdd = memstream.ToArray();
            }

            // функция добавления записи в бд:
            AddData(ProductName, Code, Url, fileToAdd);

            
            return null;
        }
Ответ написан
Комментировать
isxaker
@isxaker
У меня работает следующий код

Model

public class Book
{
     public string Title {get;set;}
     public string Author {get;set;}
}



Controller

public class BookController : Controller
{
     [HttpPost]
     public ActionResult Create(Book model, IEnumerable<HttpPostedFileBase> fileUpload)
     {
         throw new NotImplementedException();
     }
}



And View

@using (Html.BeginForm("Create", "Book", FormMethod.Post, new { enctype = "multipart/form-data" }))
{      
     @Html.EditorFor(m => m)

     <input type="file" name="fileUpload[0]" /><br />      
     <input type="file" name="fileUpload[1]" /><br />      
     <input type="file" name="fileUpload[2]" /><br />      

     <input type="submit" name="Submit" id="SubmitMultiply" value="Upload" />
}



Для того, чтобы файлы передались на сервер, нужно чтобы name у

<input type="file" name="fileUpload[0]" />

совпадал с именем параметра контроллера

IEnumerable<HttpPostedFileBase> fileUpload
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы