2009-06-26 6 views
2

Je veux créer une fonction comme ça ...Comment prendre une image (transmise en tant que chaîne codée Base64) et l'enregistrer sur le serveur dans Asp.Net C#?

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult SaveImage(string file, string fileName) 
    { 

    } 

Lorsque le fichier est la chaîne Base64 créée à partir de l'image, et le nom est le nom que je veux l'enregistrer comme. Comment puis-je utiliser cette chaîne codée pour écrire l'image sur le serveur? Dois-je utiliser BinaryWriter ou TextWriter ou un autre? Et comment décoder les données pour lui permettre d'écrire correctement sur le serveur?

Répondre

7
byte[] contents = Convert.FromBase64String(file); 
System.IO.File.WriteAllBytes(Server.MapPath(fileName), contents); 
+0

me donne une erreur « System.Web.Mvc.Controller.File (string, string, string) est une « méthode », ce qui est valable dans le contexte donné » La méthode qui gère c'est en un contrôleur ... que dois-je faire pour me débarrasser de l'erreur? – Matt

+1

Oups, il s'agit d'un problème de collision de noms entre la méthode Controller.File et la classe System.IO.File. Nommez simplement la chose complète à réparer. Édition –

+0

Parfait, merci! – Matt

Questions connexes