2013-08-27 3 views
0

Я пытаюсь сохранить piture, восстановленный с байта [] на сервере asp.net. Вот мой код:Сохранить изображение на сервере asp.net

MemoryStream ms = new MemoryStream(cli.LOGO, 0, cli.LOGO.Length); 

      ms.Write(cli.LOGO, 0, cli.LOGO.Length); 

      string thePath = Server.MapPath("~/App_Data"); 
      string wholePath = thePath + "\\logo.jpg"; 
      FileStream fs = new FileStream(wholePath, FileMode.Create); 

      BinaryWriter bw = new BinaryWriter(fs); 
      bw.Write(cli.LOGO); 
      bw.Close(); 

Где cli.LOGO - это массив байтов. Я просто пытаюсь сохранить его как изображение .jpg в папке App_Data (или что-то еще, конечно), но ... Это ничего не делает. cli.LOGO не пуст, но файл не создан ... Почему так? Это правильный способ сохранить изображение? Благодаря !

+1

вызов 'File.WriteAllBytes'. – SLaks

ответ

0

Попробуйте так что немного меньше, чем код:

string path = Server.MapPath("~/App_Data/logo.jpg"); 
File.WriteAllBytes("file", cli.LOGO); 
+0

Я попробовал следующее if (cli.LOGO! = Null) { string thePath = Server.MapPath ("~/App_Data"); строка целаяPath = thePath + "\\ logo.jpg"; System.IO.File.WriteAllBytes (wholePath, cli.LOGO); } Но это не работает, но ничего не делает. Любая идея отладки? – Derbie

0

попробовать делать это

if (Request.Files["Photo"] != null) 
      { 
       string path = "/uploads/" + DateTime.Now.Ticks.ToString() + "_" + Request.Files["Photo"].FileName; 
       Request.Files["Photo"].SaveAs(Server.MapPath(path)); 
       SP.PhotoPath = path; 

       //The MapPath method maps the specified relative or virtual path to the 
       //corresponding physical directory on the server. 
      }