Je rencontre un problème avec mon application (ASP.NET MVC 2) où je ne peux pas télécharger de fichiers (images dans mon cas). J'ai changé le web.config pour accepter jusqu'à 20 Mo, et j'essaye de télécharger un fichier qui est seulement 3MB.Connexion ASP.NET Réinitialiser sur le téléchargement
L'application elle-même a deux façons de télécharger. Le téléchargement initial qui démarre une galerie, puis un téléchargement supplémentaire à ajouter à une galerie.
L'initiale fonctionne comme un charme, mais l'ajout d'un échec échoue sans explication. Même si je télécharge à nouveau l'image initiale en tant qu'application, elle échoue toujours.
Je suis un peu coincé à ce sujet, donc j'apprécierais toute aide que vous pouvez offrir.
Merci d'avance!
EDIT
Si je « pirater » la forme avec Firebug et direct à l'URL de téléchargement initial cela fonctionne, mais quand il est dirigeant vers l'URL il doit être envoyez des messages échoue ...
EDIT 2
par la demande de Rob, voici le code de gestion de la galerie initiale et de l'image annexant:
[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:
pourrait Cassini, VS 2010 est construit dans le serveur web, être la cause?
Nous allons avoir besoin de voir du code pour vous aider à résoudre ce problème. La raison principale est que quelque chose * doit être * différent entre le code gérant un upload et un append. Déterminer quelle est cette différence et comment elle affecte le téléchargement sera la réponse à cette question pour vous =) – Rob
Eh bien, j'ai posté le code dans une édition ci-dessus, mais je ne pense pas que ça va vous aider parce que je ne sais pas pense que les routes sont touchées, donc je ne pense pas que le code est en cours d'exécution du tout ... Mais je peux me tromper ... – Gup3rSuR4c