2015-06-06 4 views
0

Вот контроллер. Мне нужно загрузить изображение в AWS S3, но я получаю сообщение об ошибке. Я использую проект MVC для asp-приложения.Ошибка загрузки файла на Amazon S3 для приложения ASP MVC

[HttpPost, ValidateInput(false)] 
[ValidateAntiForgeryToken] 
public ActionResult Nueva(Historia historia, HttpPostedFileBase HeroImagen) 
{ 
    try 
    { 
     if (ModelState.IsValid) 
     { 
      IAmazonS3 client; 
      using (client = Amazon.AWSClientFactory.CreateAmazonS3Client(_awsAccessKey, _awsSecretKey)) 
      { 
       var request = new PutObjectRequest() 
       { 
        BucketName = _bucketName, 
        CannedACL = S3CannedACL.PublicRead, 
        Key = string.Format("UPLOADS/{0}", HeroImagen.FileName), 
        InputStream = HeroImagen.InputStream 
       }; 
       client.PutObject(request); 
      } 
      historia.HeroImagen = HeroImagen.FileName; 
      db.Historias.Add(historia); 
      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 
     ViewBag.AutorID = new SelectList(db.Autores, "AutorID", "AutorNombre", historia.AutorID); 
     return View(historia); 
    } 
    catch (Exception) 
    { 
     return View(); 
    } 
} 

Но при отправке формы получайте сообщение об ошибке. .

enter image description here

ответ

0

Для меня это выглядит как ваш AWS код, связанный даже не работает. Вы получаете сообщение об ошибке «Viewbag.AutorID = ...», что означает, что команда перенаправления над ней никогда не запускалась. Для меня это похоже на то, что ваш ModelState недействителен.

Примечание: Пожалуйста, скопируйте свой код и исключение в свой вопрос как текст, который сделает ваш вопрос доступным для поиска.

+0

Спасибо. Я буду следовать вашим советам –

Смежные вопросы