1
我遇到了我的应用程序(ASP.NET MVC 2),我无法上传文件(在我的情况下的图像)的问题。我已经改变了web.config接受高达20MB,我试图上传一个只有3MB的文件。ASP.NET连接重置上传
该应用程序本身有两种上传方式。最初的上传可以启动一个Gallery,然后附加一个上传来添加到一个Gallery。
最初的作品像一个魅力,但追加的失败,没有解释。即使我重新上传最初的图像作为追加它仍然失败。
我有点被困在这,所以我将不胜感激你们可以提供任何帮助。
在此先感谢!
编辑
如果我“黑客”的形式与萤火虫并将其引导到初始载URL它的工作原理,但是当它引导到应该发布到失败的网址...
EDIT 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
});
}
旁注:
能卡西尼,VS 2010的内置Web服务器,是原因?
我们需要看到一些代码来帮助你解决这个问题。主要原因是在处理上载和附加的代码之间*必须有*不同。确定是什么区别以及它如何影响上传将是这个问题对你的答案=) – Rob 2010-08-25 08:31:44
好吧,我在上面编辑过的代码,但我不认为它会帮助你,因为我没有认为路由受到攻击,因此我认为代码根本没有被执行......但是我可能是错的...... – Gup3rSuR4c 2010-08-25 08:45:39