在asp.net中怎样把一个文件保存啊?急!!!

时间:2022-01-15 09:07:41
现在做一个类似报表的程序,需要把设置保存在本地机器上,请问在asp.net中有没有一个类似于openDialog的控件啊,就是点一个按钮,他会出来一个文件选择对话框出来,或者怎样可以在asp.net中弄出这样的效果!
谢谢!!非常急!!!!

9 个解决方案

#1


<input type=file>

#2


设置保存在本地机器上-->>下載輸出就行了

#3


下載時指定文件類型為不為瀏覽器所能打開的文件類型即會彈出個保存對話框

#4


<input tyoe="file" id="MyFile" runat="server">

<input type="button" runat="server" OnServerClick="SaveFile">
<script language="c#" runat="server">
private void SaveFile()
{
   MyFile.PostedFile,SaveAs("C:\\");
}
</script>

#5


我可能还没有说清楚我的程序意思:
其实是这样的,我现在做一个数据分析的前台,用OWC做,现在我想将OWC上的设置先在程序中转换为XML,然后把这个XML写入在一个本地的文件中去,这里就希望能用到一个保存文件的对话框。
然后下次运行该前台,可以用一个打开按钮,打开刚刚保存的文件,然后OWC就变为上次设置的模样了,这里就需要一个打开文件的对话框。
希望高手能够指点。非常急!!!谢谢了!!!!

#6


你的愿望不一定非要出一个保存窗口啊,你用一般的服务器写文件到客户端的方法就可以了,它会提示你保存的,自己找个路径

#7


但是可能客户会认为这样不直接啊!!
而且如果没有窗口出来的话,那么要打开一个保存的文件怎么办?岂不是要手动输入文件名了(因为这个程序要可以保存多个文件,而不是一个)
所以我认为最好是有一个象saveDialog,openDialog的类似的功能的东西可以实现就好了
当然,我也想到可以这样做:
当单击保存的时候,弹出一个对话框,然后只要输入文件名就可以了,我在程序中设置所有这类文件都保存在一个特定的目录中,然后在页面中做一个下拉框,当PageLoad的时候,先检查目录中是否有文件,如果有的话,把所有的文件名都放到该下拉框中,那么用户就可以根据这个下拉框来选择要打开的文件了。不知道这种方法可不取呢?请大家指点!本人也是刚开始用.net,所以很多东西并不了解。
谢谢!

#8


有这个控件:
         <INPUT id="WebFile" style="WIDTH: 490px; HEIGHT: 22px" type="file" size="62" name="WebFile" runat="server">
protected System.Web.UI.HtmlControls.HtmlInputFile WebFile;
文件上传参考代码:
/// <summary>
/// 文件上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnUpload_Click(object sender, System.EventArgs e)
{
if(WebFile.PostedFile.FileName=="")
{
Info.Text="请先选择要上传的文件";
return;
}

try
{
char[] spliter = {'\\'};
string [] FileName = WebFile.PostedFile.FileName.Split(spliter,10);

string FullPath = CurrentPath + @"\" + FileName[FileName.Length-1];  //生成完整文件名
WebFile.PostedFile.SaveAs(FullPath);  //保存文件
LoadDir(CurrentPath);  //重新载入当前目录
}
catch
{
Info.Text="上传文件失败,请与管理员联系";
}
}

#9


打开文件的对话框可能就无法实现了,只能自己做一个了,或者可以这样
Response.Clear();
Response.Charset="GB2312";
Response.ContentEncoding=System.Text.Encoding.UTF8;
Response.AddHeader("Content-Type",strFileType);
Response.AddHeader("Content-Disposition","attachment;filename="+Server.UrlEncode(strFileName));
Response.OutputStream.Write(fileCont,0,fileCont.Length);
用filestream读取文件的流,然后写到页面上,就会提示保存

#1


<input type=file>

#2


设置保存在本地机器上-->>下載輸出就行了

#3


下載時指定文件類型為不為瀏覽器所能打開的文件類型即會彈出個保存對話框

#4


<input tyoe="file" id="MyFile" runat="server">

<input type="button" runat="server" OnServerClick="SaveFile">
<script language="c#" runat="server">
private void SaveFile()
{
   MyFile.PostedFile,SaveAs("C:\\");
}
</script>

#5


我可能还没有说清楚我的程序意思:
其实是这样的,我现在做一个数据分析的前台,用OWC做,现在我想将OWC上的设置先在程序中转换为XML,然后把这个XML写入在一个本地的文件中去,这里就希望能用到一个保存文件的对话框。
然后下次运行该前台,可以用一个打开按钮,打开刚刚保存的文件,然后OWC就变为上次设置的模样了,这里就需要一个打开文件的对话框。
希望高手能够指点。非常急!!!谢谢了!!!!

#6


你的愿望不一定非要出一个保存窗口啊,你用一般的服务器写文件到客户端的方法就可以了,它会提示你保存的,自己找个路径

#7


但是可能客户会认为这样不直接啊!!
而且如果没有窗口出来的话,那么要打开一个保存的文件怎么办?岂不是要手动输入文件名了(因为这个程序要可以保存多个文件,而不是一个)
所以我认为最好是有一个象saveDialog,openDialog的类似的功能的东西可以实现就好了
当然,我也想到可以这样做:
当单击保存的时候,弹出一个对话框,然后只要输入文件名就可以了,我在程序中设置所有这类文件都保存在一个特定的目录中,然后在页面中做一个下拉框,当PageLoad的时候,先检查目录中是否有文件,如果有的话,把所有的文件名都放到该下拉框中,那么用户就可以根据这个下拉框来选择要打开的文件了。不知道这种方法可不取呢?请大家指点!本人也是刚开始用.net,所以很多东西并不了解。
谢谢!

#8


有这个控件:
         <INPUT id="WebFile" style="WIDTH: 490px; HEIGHT: 22px" type="file" size="62" name="WebFile" runat="server">
protected System.Web.UI.HtmlControls.HtmlInputFile WebFile;
文件上传参考代码:
/// <summary>
/// 文件上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnUpload_Click(object sender, System.EventArgs e)
{
if(WebFile.PostedFile.FileName=="")
{
Info.Text="请先选择要上传的文件";
return;
}

try
{
char[] spliter = {'\\'};
string [] FileName = WebFile.PostedFile.FileName.Split(spliter,10);

string FullPath = CurrentPath + @"\" + FileName[FileName.Length-1];  //生成完整文件名
WebFile.PostedFile.SaveAs(FullPath);  //保存文件
LoadDir(CurrentPath);  //重新载入当前目录
}
catch
{
Info.Text="上传文件失败,请与管理员联系";
}
}

#9


打开文件的对话框可能就无法实现了,只能自己做一个了,或者可以这样
Response.Clear();
Response.Charset="GB2312";
Response.ContentEncoding=System.Text.Encoding.UTF8;
Response.AddHeader("Content-Type",strFileType);
Response.AddHeader("Content-Disposition","attachment;filename="+Server.UrlEncode(strFileName));
Response.OutputStream.Write(fileCont,0,fileCont.Length);
用filestream读取文件的流,然后写到页面上,就会提示保存