随笔-39  评论-33  文章-0  trackbacks-0

最简单的文件上传方法    

        文件上传是基本运用,因而讨论的也多,方法五花八门。那么什么样的方法是最好的方法呢,应该是代码最少,最好理解的方法。 

    用标签处理文件上传,几个属性控制文件大小、文件类型等特性,应是最理想的方法。

    newxy(新坐标)用标签来处理文件上传,不用写代码,比smartUpload简便。

   

上 传 文 件 至 文 件 夹

利用 newxy ( 新坐标 ) 技术上传文件至文件夹极其简单。

一、准备

1 、确保有 struts 运行环境;

2 、下载 newxy1.03.zip 或更高版。解压,将 newxy1.03.jar 或更高版类库拷到 WEB-INF/lib 下,将 newxy-html.tld newxy-logic.tld newxy-bean.tld 三个标签定义文件拷到 WEB-INF/ 目录下;

3 、建一 jsp 文件,如 upload.jsp

 

二、 jsp 文件


<%@ page contentType="text/html; charset=GBK" %>
<%@ tagliburi="/WEB-INF/newxy-html.tld" prefix="nhtml"%>
<%@ tagliburi="/WEB-INF/newxy-logic.tld" prefix="nlogic"%>

<nlogic:action1 id="act1" formName="fileForm"/>
<nhtml:form action="" formName="fileForm" enctype="multipart/form-data">
 
文件夹: <input type="text" name="_directory" size="40"/><br />
 
文件 1, 不大于 1024K <nhtml:file property="file1" size="40" maxSize="1024"fileLimit="zip"/><br />
 
文件 2, 不大于 1024K <nhtml:file property="file2" size="40" maxSize="1024"fileLimit="zip"/><br />
</nhtml:form>
<nhtml:buttonactionId="act1" method="upload" value=”
文件上传 ”/>

三、说明

可以不写 java 代码实现文件上传。

1 、本例一次可以上传两个文件,理论上可以一次上传无限多个文件,上传多个文件时, property 属性值不能相同。

2 、本例上传文件不大于 1024K 字节,文件上传最大值由 maxSize 属性值确定,如果此值为空,最大值不大于 struts 设置的最大值,默认为 250M

3 、本例上传文件扩展名限于 ”zip” 上传文件的扩展名由 fileLimit 属性值指定,如果 fileLimit 值为空,上传文类型不受限制

4 、上传文件保存在 _directory 属性值指定的文件夹中。 _directory 可以是绝对路径如 c:\temp ,也可以是 URI ,如 images images WEB 上下文下的一个文件夹。

5 、标签 <nhtml:form action="" formName="fileForm" /> action 属性是空值,表明以当前路径作为 页面表单的 action 值。 formName 属性值与标签 <nlogic:action1 id="act1" formName="fileForm"/> formName 属性值相同。

6 、标签 <nlogic:action1 id="act1" formName="fileForm"/> 产生静态页面的 javascript 函数: act1 Upload(...){...} 。点击“文件上传”按钮将调用这个函数。结果是将数据提交上来由标签 nlogic:action1 id="act1" formName="fileForm"/> 来处理,将文件内容写到指到的路径。

7 、标签 <nhtml:buttonactionId="act1" method="upload" value=” 文件上传 ”/> onclick 事件调用 act1 Upload() 方法。

上 传 文 件 至 数 据 库

利用 newxy ( 新坐标 ) 技术上传文件至数据库极其简单。

一、准备

1 、确保有 struts 运行环境;

2 、下载 newxy1.03.zip 或更高版。解压,将 newxy1.03.jar 更高版类库拷到 WEB-INF/lib 下,将 newxy-html.tld newxy-logic.tld newxy-bean.tld 三个标签定义文件拷到 WEB-INF/ 目录下,将 newxy.properties 文件拷到 WEB-INF/classes 下,并根据需要进行设置;

3 、建一 jsp 文件,如 upload.jsp

二、 jsp 文件
             <%@ page contentType="text/html; charset=GBK" %>
             <%@ tagliburi="/WEB-INF/newxy-html.tld" prefix="nhtml"%>
             <%@ tagliburi="/WEB-INF/newxy-logic.tld" prefix="nlogic"%>

         <nlogic:action1 id="act1" formName="fileForm"/>

<nhtml:form action="" formName="fileForm" enctype="multipart/form-data">

  数据库表名: <input type="text" name="_table" size="40"/><br />

  说明: <input type="text" name="explain" size="40"/><br />

  不大于 1024K <nhtml:file property="field1" size="40" maxSize="1024"/><br />

  不大于 1024K <nhtml:file property="field2" size="40" maxSize="1024"/><br />

</nhtml:form>

<nhtml:buttonactionId="act1" method="update"/>

 

三、说明

可以不写 java 代码实现文件上传。

1 _table 为保留属性,其值是数据库表名。

2 newxy ( 新坐标 ) 实现文件上传至数据库,可以同时保存文件名、文件类型、大小、扩展名等信息。 标签<nhtml:file />详解

文件名:

上传的文件名保存到某字段中,保存文件名的字段名由 <nhtml:file/> 标签 fileNameField 元素值指定。

文件大小:

上传的文件大小保存到某字段中,保存文件大小的字段名由 <nhtml:file/> 标签 fileSizeField 元素值指定。本例上传文件不大于 1024K

文件类型:

上传的文件类型保存到某字段中,保存文件类型的字段名由 <nhtml:file/> 标签 fileTypeField 元素值指定。

文件扩展名:

上传的文件扩展名保存到某字段中,保存文件扩展名的字段名由 <nhtml:file/> 标签 fileExtendNameField 元素值指定。

限制类型:

上传文件的限制类型由 <nhtml:file/> 标签 fileLimit 元素值指定。如 fileLimit ="jsp" ,只能上传 jsp 文件。本例不限制。

 

3 property 属性值是保存文件内容的字段名。

4 、上传文件大小由 maxSize 属性值确定,本例可同时上传二个文件,上传文件不大于 1024K 。理论上同时上传文件数量不限,上传成功与否会提示给用户。如果 maxSize 为空,最大值不大于 struts 设置的最大值,默认最大值为 250M

5 、标签 <nhtml:form action="" formName="fileForm" /> action 属性是空值,表明以当前路径作为 页面表单的 action 值。 formName 属性值与标签 <nlogic:action1 id="act1" formName="fileForm"/> formName 属性值相同。

6 、标签 <nlogic:action1 id="act1" formName="fileForm"/> 产生静态页面的 javascript 函数: act1 Update( ...){...} 。点击“文件上传”按钮将调用这个函数。结果是将数据提交上来由标签 nlogic:action1 id="act1" formName="fileForm"/> 来处理,将文件内容写到数据库的字段中。

7 、标签 <nhtml:buttonactionId="act1" method="update" value= 文件上传 /> onclick 事件调用 act1 Update() 方法。

newxy(新坐标)技术网站:http://www.newxy.net

posted on 2006-07-18 18:35 newxy新坐标 阅读(698) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: