万卷书   首页 > 电脑书籍 > Dreamweaver > Ultradev专题创建文件上载站点
 

   现在选择表单并应用PureAsp上载行为。你将可以看到这个对话框,在上面你可以设置各种参数。我想让用户只能上载txt、gif、或者jpg扩展名的文件,所以我键入逗号分隔的列表,如图3所示。


(图3)

   自此我已经有了可以完成真正文件上载的代码。下面我要让用户在上载之前先预览一下文件。你可以先看看TomSteemper的教程:

http://members.prestige.net/ultradev/upload/upload.htm 下载这个文件。

   首先让我们先看看Tom的choose_upload.htm网页。你会发现这个网页是由两段代码组成的。第一段是Javascript代码用于在窗口中打开一个新的网页。以下是具体的代码。你可以将剪切它并粘贴到Upload.htm网页代码的< /head >之前。


< script language="JavaScript" >
< !--
function T3_OpenWindow(url,name,features) {
window.open(url,name,features);
}
//--
< /script >
< /head >

   第二段代码是在表单上,它是附载按钮上的。它只是简单地增加按钮给表单。并且改变Action(动作)为None,然后打开网页地代码视窗,为按钮增加代码:

onClick = "T3_OpenWindow('preview.htm@file1=' + document.form1.file1.value,'preview','scrollbars=yes,resizable=yes,width=400,height=200')" >

   假设你的表单的名字为form1并且文件区域表单元素的名字为file1。所以所有的为预览你的文件按钮的代码如下:

< input type="button" name="Button" value="Preview" onClick = "T3_OpenWindow('preview.htm@file1=' + document.form1.file1.value,'preview','scrollbars=yes,resizable=yes,width=400,height=200')" >

   当你按下Browse(浏览)按钮的时候你可以浏览你的硬盘并选择一个文件显示载文件区域表单元素上。当你按下预览你的文件按钮,它就打开一个新的网页Preview.htm。现在让我们看看TomSteeper的其它文件Preview.htm。在上面他将文件的位置作为一个Request(请求)数值传递给Upload.htm并给文件的路径赋值。如果文件有gif或者jpg扩展名字,那么他就设置图象的来源为文件名字,而图片则显示在新的窗口。

   既然我也考虑到了txt文件,我想让用户也可以浏览文本文件,因为任何的浏览器可以显示文本。现在我想利用动态包含文件行为来应用到网页上。图4的对话框是用来增加行为的。可以选择Server.MapPath和浏览器来选择任何老的文件。然后键入文件的名字来重定向看是否文件被找到。我选择了nofile.htm。因为代码不会被调用,所以无关紧要。如果它们找到了文件路径,用户可以浏览他们硬盘的文件。



(图4)

   现在你需要移动新的代码,因为插入到了TomSteeper预览代码的前面,需要把它移动到TomSteeper代码后面。代码中有一段OP_txtfile = Server.MapPath(Default.htm)使用了Server.MapPath来找文件的位置。但是我们已经知道文件的位置因为从其它的网页已经将它作为一个请求传递过来了。实际上文件的位置已经存在在TomSteeper代码的变量FullPath=Request("file1")所以让我们用with OP_txtfile = FullPath来替换上面的行。


 

上一页 下一页