最简单的文件上传方法
文件上传是基本运用,因而讨论的也多,方法五花八门。那么什么样的方法是最好的方法呢,应该是代码最少,最好理解的方法。
用标签处理文件上传,几个属性控制文件大小、文件类型等特性,应是最理想的方法。
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) 编辑 收藏