Impossible de convertir implicitement le type de Système.Web.HttpPostedFile' à 'Système.Web.HttpPostedFileBase'
J'ai cette méthode qui ne permet pas de créer, il échoue avec le message:
Impossible de convertir implicitement le type '
System.Web.HttpPostedFile
' à 'System.Web.HttpPostedFileBase
'
J'ai vraiment besoin de cela pour être de type HttpPostedFileBase
au lieu de HttpPostedFile
, j'ai essayé de boxe et il ne fonctionne pas:
foreach (string inputTagName in HttpContext.Current.Request.Files)
{
HttpPostedFileBase filebase =HttpContext.Current.Request.Files[inputTagName];
if (filebase.ContentLength > 0)
{
if (filebase.ContentType.Contains("image/"))
{
SaveNonAutoExtractedThumbnails(doc, filebase);
}
}
}
OriginalL'auteur tom | 2010-06-18
Vous devez vous connecter pour publier un commentaire.
Un rapide coup d'oeil à Réflecteur indique que
HttpPostedFileWrapper
hérite deHttpPostedFileBase
et accepte unHttpPostedFile
dans le constructeur:TheVillageIdiot apporte un excellent point sur la meilleure construction de boucle, et il va travailler pour vous si vous êtes à portée expose le
Request
propriété de l'actuel HTTP contexte (par exemple, sur unPage
, mais pas dansGlobal.asax
):Si vous avez LINQ disponible, vous pouvez l'utiliser ainsi:
Une grande aide. Merci
OriginalL'auteur John Rasch
Première chose que vous n'avez pas besoin de faire
HttpPostedFileBase
HttpPostedFile
fonctionnera aussi bien.Deuxième,
ContentType
est Type de Contenu MIME, vous devriez regarder dansFileName
.Essayez ce code:
OriginalL'auteur TheVillageIdiot