我已经从asp.net表创建了excel文件,现在可以下载了。
现在我想将这个excel文件保存在服务器上以便能够使用它。 我试图使用字符串编写器来保存文件夹,但没有成功。这是我编写的用于从asp.net生成文件的代码。
tbl_loctbl.Controls.Clear();
LoadDetails();
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=ProfessorWise.xls");
Response.ContentType = "application/ms-excel";
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(sw);
tbl_loctbl.RenderControl(hw);
Response.Write(sw.ToString());
Response.End();
从这段代码中生成文件并下载到用户pc。Loaddetails()
是我将数据加载到asp.net表然后生成excel文件的函数。
如何将其保存到服务器?
答案 0 :(得分:0)
如果我理解您的搜索正确,您希望使用您的网络应用程序在网络服务器上保存文件。
如果您在网络服务器上使用IIS来运行c#应用程序,那么您需要将文件夹applicationpool权限授予您要将excel文件/文件夹写入的位置。
应用程序池必须与webapplication正在使用的相同。
Update:
首先,您需要授予保存文件/文件夹的文件夹的权限。您需要提供的权限是您的Web应用程序正在使用的应用程序池。
之后在IIS中右键单击您的站点并添加虚拟目录。您可以在此处定义文件夹的别名。您的代码会将其识别为项目中的实际文件夹。你需要在这里选择实际的物理路径。
答案 1 :(得分:0)
尝试使用此
string path = Server.MapPath("Print_Files"); // folder path
Random rnd = new Random();
int month = rnd.Next(1, 13); // creates a number between 1 and 12
int dice = rnd.Next(1, 7); // creates a number between 1 and 6
int card = rnd.Next(9); // creates a number between 0 and 51
string file_name = "filename" +month + dice + card + ".pdf"; // to prevent duplicate
FileStream file = new FileStream(path + "/" + file_name, FileMode.OpenOrCreate, FileAccess.ReadWrite);
file.Write(bytes, 0, bytes.Length);
file.Dispose();