社区
Web 开发
帖子详情
急!!!请问:如何在JSP中实现图片附件上传?!可以不用jspsmart组件上传吗?
xylxyh
2006-03-06 09:13:21
本人选择需要将图片作为附件上传,但是在网上看到的例子,基本上都是采用jspsmart组件。有没有哪位大侠,给出一个用javascript写的例子?!!!
谢谢!!!谢谢!!!
...全文
108
4
打赏
收藏
急!!!请问:如何在JSP中实现图片附件上传?!可以不用jspsmart组件上传吗?
本人选择需要将图片作为附件上传,但是在网上看到的例子,基本上都是采用jspsmart组件。有没有哪位大侠,给出一个用javascript写的例子?!!! 谢谢!!!谢谢!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xylxyh
2006-03-06
打赏
举报
回复
嗯,那我先试试,谢谢。
doway
2006-03-06
打赏
举报
回复
GOOGLE: fileupload
wuzhu888
2006-03-06
打赏
举报
回复
是呀,组件是很方便的
wmzsl
2006-03-06
打赏
举报
回复
javascript是不能和服务器交互的,就算是交互也用的是xmlhttp,那个的后台还是java或者asp等东西,你要是不想用组件,那你就直接用流来作上传,不过还不如用组件呢,自己写很麻烦
文件
上传
组件
(
jsp
)
在Servlet
中
使用
jsp
smart
文件
上传
组件
(最新版本)
jsp
smart
jsp
smart
upload
jsp
smart
.jar包及帮助文档
㈠ File类 这个类包装了一个
上传
文件的所有信息。通过它,可以得到
上传
文件的文件名、文件大小、扩展名、文件数据等信息。 File类主要提供以下方法: 1、saveAs作用:将文件换名另存。 原型: public void saveAs(java.lang.String destFilePathName) 或 public void saveAs(java.lang.String destFilePathName, int optionSaveAs) 其
中
,destFilePathName是另存的文件名,optionSaveAs是另存的选项,该选项有三个值,分别是SAVEAS_PHYSICAL, SAVEAS_VIRTUAL,SAVEAS_AUTO。SAVEAS_PHYSICAL表明以操作系统的根目录为文件根目录另存文件, SAVEAS_VIRTUAL表明以Web应用程序的根目录为文件根目录另存文件,SAVEAS_AUTO则表示让
组件
决定,当Web应用程序的根目录存在另存文件的目录时,它会选择SAVEAS_VIRTUAL,否则会选择SAVEAS_PHYSICAL。 例如,saveAs ("/upload/sample.zip",SAVEAS_PHYSICAL)执行后若Web服务器安装在C盘,则另存的文件名实际是c:\ upload\sample.zip。而saveAs("/upload/sample.zip",SAVEAS_VIRTUAL)执行后若Web应用程序的根目录是webapps/
jsp
smart
upload,则另存的文件名实际是 webapps/
jsp
smart
upload/upload/sample.zip。saveAs("/upload/sample.zip", SAVEAS_AUTO)执行时若Web应用程序根目录下存在upload目录,则其效果同saveAs("/upload/sample.zip", SAVEAS_VIRTUAL),否则同saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)。 建议:对于Web程序的开发来说,最好使用SAVEAS_VIRTUAL,以便移植。 2、isMissing 作用:这个方法用于判断用户是否选择了文件,也即对应的表单项是否有值。选择了文件时,它返回false。未选文件时,它返回true。 原型:public boolean isMissing() 3、getFieldName 作用:取HTML表单
中
对应于此
上传
文件的表单项的名字。 原型:public String getFieldName() 4、getFileName 作用:取文件名(不含目录信息) 原型:public String getFileName() 5、getFilePathName 作用:取文件全名(带目录) 原型:public String getFilePathName 6、getFileExt 作用:取文件扩展名(后缀) 原型:public String getFileExt() 7、getSize 作用:取文件长度(以字节计) 原型:public int getSize() 8、getBinaryData 作用:取文件数据
中
指定位移处的一个字节,用于检测文件等处理。 原型:public byte getBinaryData(int index)。其
中
,index表示位移,其值在0到getSize()-1之间。 ㈡ Files类 这个类表示所有
上传
文件的集合,通过它可以得到
上传
文件的数目、大小等信息。有以下方法: 1、getCount 作用:取得
上传
文件的数目。 原型:public int getCount() 2、getFile 作用:取得指定位移处的文件对象File(这是com.
jsp
smart
.upload.File,不是java.io.File,注意区分)。 原型:public File getFile(int index)。其
中
,index为指定位移,其值在0到getCount()-1之间。 3、getSize 作用:取得
上传
文件的总长度,可用于限制一次性
上传
的数据量大小。 原型:public long getSize() 4、getCollection 作用:将所有
上传
文件对象以Collection的形式返回,以便其它应用程序引用,浏览
上传
文件信息。 原型:public Collection getCollection() 5、getEnumeration 作用:将所有
上传
文件对象以Enumeration(枚举)的形式返回,以便其它应用程序浏览
上传
文件信息。 原型:public Enumeration getEnumeration() ㈢ Request类 这个类的功能等同于
JSP
内置的对象request。只所以提供这个类,是因为对于文件
上传
表单,通过request对象无法获得表单项的值,必须通过
jsp
Smart
Upload
组件
提供的Request对象来获取。该类提供如下方法: 1、getParameter 作用:获取指定参数之值。当参数不存在时,返回值为null。 原型:public String getParameter(String name)。其
中
,name为参数的名字。 2、getParameterValues 作用:当一个参数可以有多个值时,用此方法来取其值。它返回的是一个字符串数组。当参数不存在时,返回值为null。 原型:public String[] getParameterValues(String name)。其
中
,name为参数的名字。 3、getParameterNames 作用:取得Request对象
中
所有参数的名字,用于遍历所有参数。它返回的是一个枚举型的对象。 原型:public Enumeration getParameterNames() ㈣
Smart
Upload类这个类完成
上传
下载工作。 A.
上传
与下载共用的方法: 只有一个:initialize。 作用:执行
上传
下载的初始化工作,必须第一个执行。 原型:有多个,主要使用下面这个: public final void initialize(javax.servlet.
jsp
.PageContext pageContext) 其
中
,pageContext为
JSP
页面内置对象(页面上下文)。 B.
上传
文件使用的方法: 1、upload 作用:
上传
文件数据。对于
上传
操作,第一步执行initialize方法,第二步就要执行这个方法。 原型:public void upload() 2、save 作用:将全部
上传
文件保存到指定目录下,并返回保存的文件个数。 原型:public int save(String destPathName) 和public int save(String destPathName,int option) 其
中
,destPathName为文件保存目录,option为保存选项,它有三个值,分别是SAVE_PHYSICAL,SAVE_VIRTUAL和 SAVE_AUTO。(同File类的saveAs方法的选项之值类似)SAVE_PHYSICAL指示
组件
将文件保存到以操作系统根目录为文件根目录的目录下,SAVE_VIRTUAL指示
组件
将文件保存到以Web应用程序根目录为文件根目录的目录下,而SAVE_AUTO则表示由
组件
自动选择。 注:save(destPathName)作用等同于save(destPathName,SAVE_AUTO)。 3、getSize 作用:取
上传
文件数据的总长度 原型:public int getSize() 4、getFiles 作用:取全部
上传
文件,以Files对象形式返回,可以利用Files类的操作方法来获得
上传
文件的数目等信息。 原型:public Files getFiles() 5、getRequest 作用:取得Request对象,以便由此对象获得
上传
表单参数之值。 原型:public Request getRequest() 6、setAllowedFilesList 作用:设定允许
上传
带有指定扩展名的文件,当
上传
过程
中
有文件名不允许时,
组件
将抛出异常。 原型:public void setAllowedFilesList(String allowedFilesList) 其
中
,allowedFilesList为允许
上传
的文件扩展名列表,各个扩展名之间以逗号分隔。如果想允许
上传
那些没有扩展名的文件,可以用两个逗号表示。例如:setAllowedFilesList("doc,txt,,")将允许
上传
带doc和txt扩展名的文件以及没有扩展名的文件。 7、setDeniedFilesList 作用:用于限制
上传
那些带有指定扩展名的文件。若有文件扩展名被限制,则
上传
时
组件
将抛出异常。 原型:public void setDeniedFilesList(String deniedFilesList) 其
中
,deniedFilesList为禁止
上传
的文件扩展名列表,各个扩展名之间以逗号分隔。如果想禁止
上传
那些没有扩展名的文件,可以用两个逗号来表示。例如:setDeniedFilesList("exe,bat,,")将禁止
上传
带exe和bat扩展名的文件以及没有扩展名的文件。 8、setMaxFileSize 作用:设定每个文件允许
上传
的最大长度。 原型:public void setMaxFileSize(long maxFileSize) 其
中
,maxFileSize为为每个文件允许
上传
的最大长度,当文件超出此长度时,将不被
上传
。 9、setTotalMaxFileSize 作用:设定允许
上传
的文件的总长度,用于限制一次性
上传
的数据量大小。 原型:public void setTotalMaxFileSize(long totalMaxFileSize) 其
中
,totalMaxFileSize为允许
上传
的文件的总长度。 C.下载文件常用的方法 1、setContentDisposition 作用:将数据追加到MIME文件头的CONTENT-DISPOSITION域。
jsp
Smart
Upload
组件
会在返回下载的信息时自动填写MIME文件头的CONTENT-DISPOSITION域,如果用户需要添加额外信息,请用此方法。 原型:public void setContentDisposition(String contentDisposition) 其
中
,contentDisposition为要添加的数据。如果contentDisposition为null,则
组件
将自动添加 "attachment;",以表明将下载的文件作为附件,结果是IE浏览器将会提示另存文件,而不是自动打开这个文件(IE浏览器一般根据下载的文件扩展名决定执行什么操作,扩展名为doc的将用word程序打开,扩展名为pdf的将用acrobat程序打开,等等)。 2、downloadFile 作用:下载文件。 原型:共有以下三个原型可用,第一个最常用,后两个用于特殊情况下的文件下载(如更改内容类型,更改另存的文件名)。 ① public void downloadFile(String sourceFilePathName) 其
中
,sourceFilePathName为要下载的文件名(带目录的文件全名) ② public void downloadFile(String sourceFilePathName,String contentType) 其
中
,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别)。 ③ public void downloadFile(String sourceFilePathName,String contentType,String destFileName) 其
中
,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别),destFileName为下载后默认的另存文件名。
jsp
smart
实现
文件
上传
下载及
jsp
Smart
Uploadjar下载文库.pdf
jsp
smart
实现
文件
上传
下载及
jsp
Smart
Uploadjar下载文库.pdf
jsp
+servlet
实现
文件
上传
下载
页面+处理的SERVLET代码 需要
jsp
Smart
Upload
组件
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章