开发者

ASP.NET C# - Save FileStream on server

开发者 https://www.devze.com 2023-04-03 21:24 出处:网络
I got beginners question. How to save a file stream to a file on server?! I got this: var source = Request.QueryString[\"src\"];

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

精彩评论

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

关注公众号