开发者

ASP.NET C# - Save FileStream on server

I got beginners question.

How to save a file stream to a file on server?!

I got this:

var source = Request.QueryString["src"];
WebClient webclient = new WebClient();
using (Stream stream = webclient.OpenRead(source))
{
   Bitmap iconbitmap = new Bitmap(System.Drawing.Image.FromStream(stream));
   FileStream os = new FileStream("./asdasdasd.ico", FileMode.Create);

   var ic = MakeIcon(iconbitmap, 16, false); /// function returns an icon

   ic.Save(os);
}

My problem is than when I run code in ASP.NET Development Server it saves "asdasdasd.ico" into: C:\Program Files\开发者_运维技巧Microsoft Visual Studio 9.0\Common7\IDE\asdasdasd.ico

And, when I run it on remote server got error.

I want to save it into: www.my-web-site.com/output/asdasdasd.ico

Thank you very much.


Use Server.MapPath() (also a using block for closing the file would help):

using(FileStream os = new FileStream(Server.MapPath("/output/asdasdasd.ico"), FileMode.Create))
{
   var ic = MakeIcon(iconbitmap, 16, false); /// function returns an icon
   ic.Save(os);
}


You need to map your server's path :

If memory serves me right, you can use something like :

HttpContext.Current.Server.MapPath("~/MyPathToSomething");

Note that the path string must start with the tilde character.

Regards


You can use code to get the website's directory and form your own file path.

See this question for how to get the website's directory.

How to get website's physical path on local IIS server? (from a desktop app)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜