我有一个初学者的问题。
如何将文件流保存到服务器上的文件?!
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 FilesMicrosoft Visual Studio 9.0Common7IDEasdasdasd.ico
并且,当我在远程服务器上运行时出现错误。
我想把它保存到:www.my-web-site.com/output/asdasdasd.ico
使用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服务器上获取网站的物理路径?(从桌面应用程序)