主题:如何在弹出对话框中保存文件,在webform中
ztong
[专家分:10] 发布于 2006-02-02 00:23:00
--------------------------------------------------------------------------------
如何在弹出对话框中保存文件,在webform中
使用savefiledialog无法完成,那么如何完成同类操作呢?
谢谢了![em10][em18]
回复列表 (共11个回复)
沙发
ztong [专家分:10] 发布于 2006-02-02 13:42:00
在C#中看到打开和保存文件对话框可以使用openfiledialog 和 savefiledialog控件完成,在webform中发现不能使用openfiledialog 命令,而是使用HtmlInputFile命令完成,那么现在我要保存图像,将已经保存的图像引用后保存为其他格式的图像,需要弹出对话框选择类型和路径及文件名,使用savefiledialog可以完成,但是在webform中却不行,那么在webform中应该使用什么命令来完成此功能呢?
板凳
redsky9919 [专家分:570] 发布于 2006-02-02 19:13:00
不能回?
3 楼
redsky9919 [专家分:570] 发布于 2006-02-02 19:14:00
这个是用filefield控件实现的,查下这个控件就好了啊,这个叫上传和下载吧,是在HTML里面,不是在WEB窗体里面
4 楼
ztong [专家分:10] 发布于 2006-02-03 12:07:00
只查到htmlinputfile命令,在html中输入<input type="file" run="server">即可了,这是上传的步骤,但是不知道如何在html中进行保存的步骤,当然不仅仅是在html中,在.cs中也可以了!
大侠能够详细些吗?初学者!笨笨地说!
5 楼
redsky9919 [专家分:570] 发布于 2006-02-03 14:32:00
代码文件:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
namespace tst
{
/// <summary>
/// UpDownTest 的摘要说明。
/// </summary>
public class UpDownTest : System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlInputFile filetst;
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
string filePath = Server.MapPath("").ToString()+"\\";//获取你的项目在硬盘上的目录
this.filetst.PostedFile.SaveAs(filePath+"t33434s.txt");//保存文件,filePath文件的路径,"t33434s.txt"文件名
//结果:文件会保存在你的项目的根目录下.
}
}
}
页面文件:
<%@ Page language="c#" Codebehind="UpDownTest.aspx.cs" AutoEventWireup="false" Inherits="tst.UpDownTest" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>UpDownTest</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<INPUT style="Z-INDEX: 101; LEFT: 256px; POSITION: absolute; TOP: 96px" type="file" runat="server"
id="filetst">
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 504px; POSITION: absolute; TOP: 96px" runat="server"
Text="Button"></asp:Button>
</form>
</body>
</HTML>
6 楼
redsky9919 [专家分:570] 发布于 2006-02-03 14:37:00
<INPUT style="Z-INDEX: 101; LEFT: 256px; POSITION: absolute; TOP: 96px" type="file" runat="server" id="filetst">
注意添加: runat="server" id="filetst" 这样会在代码文件里面生成:
protected System.Web.UI.HtmlControls.HtmlInputFile filetst;
要不然 不会生成的.
如果没自动生成,自己加上去也一样的.
7 楼
redsky9919 [专家分:570] 发布于 2006-02-03 17:04:00
http://www.programfan.com/club/showbbs.asp?id=138605
8 楼
ztong [专家分:10] 发布于 2006-02-06 19:55:00
我知道上传时的这些步骤,也会编这方面的程序,您误解了我的问题,我的意思是:
如何点击一个按钮,弹出对话框,选择相应的目录,然后输入自己定义的文件名,注意文件事先并不存在,然后按照选定的目录和文件名进行保存,当然保存的命令也会,只是不知道如何弹出对话框进行选择目录和指定新文件。
9 楼
ztong [专家分:10] 发布于 2006-02-06 20:01:00
当使用上面的htmlinputfile时,如果文件名在指定目录下并不存在,那么根本就不能选择文件,但是当保存文件时,当然要选择并不存在的文件名了,所以不知道使用哪个命令了!
10 楼
ztong [专家分:10] 发布于 2006-02-06 20:06:00
需要弹出对话框选择类型和路径及文件名,使用savefiledialog可以完成,但是在webform中却不行,那么在webform中应该使用什么命令来完成此功能呢?
我来回复