07-06
24

最简单的文件上传方法

最简单的文件上传方法   
        文件上传是基本运用,因而讨论的也多,方法五花八门。那么什么样的方法是最好的方法呢,应该是代码最少,最好理解的方法。 
    用标签处理文件上传,几个属性控制文件大小、文件类型等特性,应是最理想的方法。
    newxy(新坐标)用标签来处理文件上传,不用写代码,比smartUpload简便。
   
上 传 文 件 至 文 件 夹
利用newxy(新坐标)技术上传文件至文件夹极其简单。
一、准备
1、确保有struts运行环境;
2、下载newxy1.03.zip或更高版。解压,将newxy1.03.jar或更高版类库拷到WEB-INF/lib下,将newxy-html.tldnewxy-logic.tldnewxy-bean.tld三个标签定义文件拷到WEB-INF/目录下;
3、建一jsp文件,如upload.jsp
 
二、jsp文件

<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="/WEB-INF/newxy-html.tld" prefix="nhtml"%>
<%@ taglib uri="/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:button actionId="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函数:act1Upload(...){...}。点击“文件上传”按钮将调用这个函数。结果是将数据提交上来由标签nlogic:action1 id="act1" formName="fileForm"/>来处理,将文件内容写到指到的路径。
7、标签<nhtml:button actionId="act1" method="upload" value=”文件上传”/>的onclick事件调用act1Upload()方法。
上 传 文 件 至 数 据 库
利用newxy(新坐标)技术上传文件至数据库极其简单。
一、准备
1、确保有struts运行环境;
2、下载newxy1.03.zip或更高版。解压,将newxy1.03.jar或更高版类库拷到WEB-INF/lib下,将newxy-html.tldnewxy-logic.tldnewxy-bean.tld三个标签定义文件拷到WEB-INF/目录下,将newxy.properties文件拷到WEB-INF/classes下,并根据需要进行设置;
3、建一jsp文件,如upload.jsp
二、jsp文件
             <%@ page contentType="text/html; charset=GBK" %>
             <%@ taglib uri="/WEB-INF/newxy-html.tld" prefix="nhtml"%>
             <%@ taglib uri="/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:button actionId="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...){...}。点击“文件上传”按钮将调用这个函数。结果是将数据提交上来由标签nlogic:action1 id="act1" formName="fileForm"/>来处理,将文件内容写到数据库的字段中。Update(
7、标签<nhtml:button actionId="act1" method="update" value=”文件上传/>的onclick事件调用act1Update()方法。
newxy(新坐标)技术网站:http://www.newxy.net


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 上传文件
相关日志:
评论: 0 | 引用: 0 | 查看次数: 644
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭