ASP.NET c# -在服务器上保存FileStream

本文关键字:保存 FileStream 服务器 NET ASP | 更新日期: 2023-09-27 18:07:59

我有一个初学者的问题。

如何将文件流保存到服务器上的文件?!

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);
}

我的问题是比当我在ASP中运行代码。. NET开发服务器将"asdasdasd.ico"保存为:C:'Program Files'Microsoft Visual Studio 9.0'Common7'IDE'asdasdasd.ico

并且,当我在远程服务器上运行时出现错误。

我想把它保存到:www.my-web-site.com/output/asdasdasd.ico

ASP.NET c# -在服务器上保存FileStream

使用Server.MapPath()(也可以使用using块来关闭文件):

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);
}

您需要映射服务器的路径:

如果我没记错的话,你可以这样写:

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

注意路径字符串必须以波浪字符开头。

您可以使用代码获取网站目录并形成自己的文件路径。

如何获得该网站的目录,请参阅这个问题。

如何在本地IIS服务器上获取网站的物理路径?(从桌面应用程序)