ventArgs); strict protected
MyFile: System.Web.UI.HtmlControls.HtmlInputFile; Button1: System.Web.UI.WebControls.Button; Label1: System.Web.UI.WebControls.Label; procedure OnInit(e: EventArgs); override; private
{ Private Declarations } public
{ Public Declarations } end;
implementation
{$REGION 'Designer Managed Code'} ///
/// Required method for Designer support -- do not modify /// the contents of this method with the code editor. /// procedure TWebForm1.InitializeComponent; begin
Include(Self.Button1.Click, Self.Button1_Click); Include(Self.Load, Self.Page_Load); end;
{$ENDREGION}
procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs); begin
// TODO: Put user code to initialize the page here end;
procedure TWebForm1.OnInit(e: EventArgs); begin //
// Required for Designer support //
InitializeComponent; inherited OnInit(e); end;
procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs); begin
本文来自 bet365 750303
本文来自 bet365 750303
Label1.Text := '文件名:'+MyFile.PostedFile.FileName+'文件大小:'+
MyFile.PostedFile.InputStream.Length.ToString+'KB'; ////取得文件名及文件大小,并显示。 MyFile.PostedFile.SaveAs(Server.MapPath('图片.jpg')); /////将上传文件存为服务器目录的文件名。 end; end.
同理,“Html Elements”中的组件都可以这样使用。
下面在介绍一种方法可实现同样功能,由于比较麻烦就不详细解说了(调用C#): 打开“WebForm1.aspx”文件,在
<%@ Page Language="c#" Debug="true" Codebehind="Register.pas" AutoEventWireup="false" Inherits="Register.TWebForm1"%>
HTML 4.01 Transitional//EN">
.................... 后面写入如下代码:
然后找到
本文来自 bet365 750303
try { } catch { }
str_ico.Text = ""; Ico_Name.Text = "";
if(myFile.PostedFile!=null) { }
}
str_ico.Text = ""; Ico_Name.Text = Edit_Name.Text+newext; if (myFile.PostedFile.ContentLength >204800) { }
str_ico.Text = Edit_Name.Text+newext;
string nam = myFile.PostedFile.FileName ; int i= nam.LastIndexOf("."); string newext =nam.Substring(i);
if (newext==".gif" || newext==".jpg" || newext==".bmp") {
myFile.PostedFile.SaveAs(Server.MapPath("\\Image_HardIco\\"+Edit_Name.Text+newext));
本文来自 bet365 750303
注册">
具体说明参见2ccc里面以前的文章。
最后再参考一下ASP是如何实现的(方法很多,就不一一例举了):
比较下来其实Delphi2005的代码是最省的,只要写入procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);后面的三行就可以了。
本文来自 bet365 750303
本文来自 bet365 750303
2、将上传文件保存到数据库 (程序代码参见--例2.rar)
将文件放入数据库以后,可以对文件进行更好的管理,特别是文本文件、图片、音乐等,如果不使用数据库,数量巨大的时候,很难做到有效的管理和区别。特别是需要作一些与文字密切相关的应用的时候,将文件全部放入数据库是最好的选择,对文字的处理、检索等,都可以直接利用数据库的一些功能,可以做到真正的有效管理。本例主要针对图片文件,比如JPG、GIF等,对程序稍微修改,就可以上传所有文件类型。在这里数据库使用SQL Server 2000。 首先按上例步骤,放置一个“Html File Upload”即上传文件组件。 建立一个数据库,再建立数据表,取名为PIC,字段如下:
注意:字段Image和Image1数据类型为“Image”,“ID”为标识、主键。字段Image和Image1主要是用来存放上传的文件的,Name可以用来存放文件名或文件大小等等。 再建立一个存储过程:
CREATE PROCEDURE uSP_BooksUploadFile @Title varchar(50), @Doc image, @Doc1 image AS
INSERT PIC(name,Image,Image1) VALUES (@Title,@Doc,@Doc1) GO