首先声明,我是asp.net的新兵,高手莫笑!
----------------------
关于文件上载
----------------------
用delphi2005写一个上载程序,这本来是很简单的事情,但是我还是遇到一点小麻烦。
在窗口上放置一个HTML File Up控件(实际上它是HtmlInputFile类型),它的id和name都设置为inputfile1,然后放置一个button,我想我在这个按钮的点击事件里写代码处理上载的文件就行了,于是
我写:
[blue]var L:integer;
buf:array of byte;
begin
L:=inputfile1.PostedFile.ContentLength;
if L<10 then exit;
...
end;[/blue]编译通不过,我赶紧查看窗口的定义信息,里面有我放置的按钮、label、adoconnection等,但没有inputfile1,我挺奇怪的,难道还要手工处理吗?
我又查看了窗口对应aspx文件,发现inputfile1的文本是这样的:
[green]
<input id="inputfile1" style="Z-INDEX: 3; LEFT: 70px; POSITION: absolute;
TOP: 94px"type="file" name="inputfile1">[/green]
哈!当然了,这只是一个普通的HTML元素而已,它只在客户端有意义,在服务器端没有什么
意义!
于是我在最后增加了runat="server",于是文本变成:
[green]
<input id="inputfile1" style="Z-INDEX: 3; LEFT: 70px; POSITION: absolute;
TOP: 94px" type="file" name="inputfile1" runat="server">[/green]
回头再看窗口的定义信息,果然其中多了一行:
[blue]inputfile1: System.Web.UI.HtmlControls.HtmlInputFile;[/blue]
这是编译一下,我写的代码也能通过了。
我想,既然是runat=server了,那么server应该自动的处理了细节吧?运行程序,程序正
确获得了上载的文件,之后我把它保存的数据库中去了。
[
]