2010-06-09 6 views
2

Une erreur générique est produite dans GDI +Une erreur générique est produite dans GDI +

[ExternalException (0x80004005). Une erreur générique est produite dans GDI +] System.Drawing.Image.Save (flux Stream, codeur ImageCodecInfo, EncoderParameters encoderParams) +615257

J'ai une page Web dans laquelle un pdf est converti en .png, et en utilisant le Response.OutputStream est affiché. quand je cours ceci sur ma machine locale fonctionne très bien. mais quand je cours le même code sur le serveur jette cette exception.

ma question est, où je pourrais chercher dans l'erreur. comme il n'y a aucune exception interne ou toute autre information fournie. seul indice est que cela se passe sur Image.Save, mais le même code fonctionne parfaitement bien sur ma machine locale, alors y est-il ne fonctionne pas sur la production ???

http://blog.maartenballiauw.be/post/2008/05/13/ASPNET-MVC-custom-ActionResult.aspx

c'est l'exemple que je suis les

+0

Vous avez oublié de poser une question. – driis

Répondre

3

je changé mon image sur la méthode de charge

Image.Save (context.HttpContext.Response.OutputStream, encodeur ImageCodecInfo, EncoderParameters encoderParams)

plus tôt que j'utilisais Image.Save (context.HttpContext. Response.OutputStream, ImageFormat)

après avoir modifié la méthode de surcharge pour enregistrer, l'erreur a été corrigée.

4

Jetez un oeil à la grande note "Attention" dans la documentation System.Drawing. Toutes sortes de choses bizarres peuvent se produire lorsque vous utilisez quelque chose destiné au traitement de bureau dans un processus de service.

Vérifiez les usuals comme les permissions, l'existence de chemin, version du framework, etc.

0

j'avais quelque chose de similaire un certain temps ... généralement à voir avec la sécurité. Ne copiez pas le png de dev, (si vous en avez un), le serveur ne pourra probablement pas écraser et s'assurer que le processus asp a un accès en écriture au répertoire que vous essayez d'enregistrer.

0

Il est probable que le processus de travail asp.net n'a pas la permission de créer un fichier dans lequel vous essayez d'enregistrer l'image sur le serveur.

+0

Image.Save (context.HttpContext.Response.OutputStream, ImageFormat); c'est ce que je fais en écrivant le dans le flux de sortie. – Pinu

1

J'ai installé mon application sur un ordinateur Windows 7 en exécutant en tant qu'administrateur.

Cela a fonctionné pour moi.

0

Cela m'est arrivé lorsque le fichier existait déjà. La suppression du fichier avant l'enregistrement a résolu le problème. Quel message d'erreur incroyablement inutile.

Questions connexes