У меня проблема с моим приложением (ASP.NET MVC 2), когда я не могу загрузить файлы (изображения в моем случае). Я изменил файл web.config, чтобы он принимал до 20 МБ, и я пытаюсь загрузить файл размером всего 3 МБ.
Само приложение имеет два способа загрузки. Первоначальная загрузка, которая запускает Галерею, а затем дополнительная загрузка для добавления в Галерею.
Начальная буква работает как очарование, но добавляющая не получается без объяснения причин. Даже если я перезагружу исходное изображение как приложение, оно все равно не получится.
Я немного застрял в этом, поэтому я был бы признателен за любую помощь, которую вы, ребята, можете предложить.
Заранее спасибо!
EDIT
Если я «взломаю» форму с помощью Firebug и перенаправлю ее на исходный URL-адрес загрузки, он будет работать, но когда он направляется на URL-адрес, его следует опубликовать на нем не удастся ...
РЕДАКТИРОВАТЬ 2
По запросу Роба, вот код, который обрабатывает исходную галерею и добавляет изображение:
[HttpPost, ValidateAntiForgeryToken]
public RedirectToRouteResult PutGallery( // Move to Ajax
[Bind(Prefix = "Gallery", Include = "ClubId,EventId,RHAccountId,RHCategoryId,Year")] Gallery Gallery,
HttpPostedFileBase File) {
if (ModelState.IsValid && (File.ContentLength > 0)) {
if (Gallery.RHAccountId > 0) {
Gallery.RHUser = this.fdc.RHAccounts.Single(
a =>
(a.RHAccountId == Gallery.RHAccountId)).RHUser;
} else {
if (!this.fdc.RHUsers.Any(
u =>
(u.User.Name == Gallery.Username))) {
if (!this.fdc.Users.Any(
u =>
(u.Name == Gallery.Username))) {
Gallery.RHUser = new RHUser() {
User = new User() {
Name = Gallery.Username
}
};
} else {
Gallery.RHUser = new RHUser() {
User = this.fdc.Users.Single(
u =>
(u.Name == Gallery.Username))
};
};
} else {
Gallery.RHUser = this.fdc.RHUsers.Single(
u =>
(u.User.Name == Gallery.Username));
};
};
Image Image = new Image() {
Gallery = Gallery
};
this.fdc.Galleries.InsertOnSubmit(Gallery);
this.fdc.Images.InsertOnSubmit(Image);
this.fdc.SubmitChanges();
Files.Save(Image.ImageId, File);
return RedirectToAction("Default", "Site");
} else {
return RedirectToAction("Default", "Site");
};
}
[HttpPost, ValidateAntiForgeryToken]
public RedirectToRouteResult PutImage(
[Bind(Prefix = "Image", Include = "GalleryId")] Image Image,
HttpPostedFileBase File) {
Gallery Gallery = this.fdc.Galleries.Single(
g =>
(g.GalleryId == Image.GalleryId));
if (File.ContentLength > 0) {
this.fdc.Images.InsertOnSubmit(Image);
this.fdc.SubmitChanges();
Files.Save(Image.ImageId, File);
};
return RedirectToAction("Gallery", "Site", new {
Category = Gallery.RHCategory.Category.EncodedName,
GalleryId = Gallery.GalleryId
});
}
Sidenote:
Может быть причиной тому является Cassini, встроенный в веб-сервер VS 2010?