文件上传--Smartupload上传组件【上】
首先祝愿大家2013元宵节快乐!
图片等文件上传不同于单纯的数字,文件在计算机中以二进制的形式存在,文件的上传要用到Smartupload组件。我们一起学习一下如何利用Smartupload组件上传文件。
Smartupload简介
Smartupload是由www.jspsmart.com网站开发的一套上传组件包,可以方便的实现文件的上传及下载功能,Smartupload组件使用很简单,可以实现上传文件类型的限制、也可以轻易的取得上传文件的名称,后缀、大小等。
Smartupload本身是一个系统提供的jar包(和数据库操作时导入包是一个原理),用户直接将此包放到classpath下,也可以直接拷贝到Tomcat_home\lib目录之中。
注意: 文件的上传有很多中,Smartupload只是其中的一种,但是提供这个组件的www.jspsmart.com网站已经关闭了,但是直到今天Smartupload因为它的好用一直被广泛应用到现在。
实例来讲解Smartupload组件上传文件的应用
这个实例将把我桌面上的一张名字为dahai.jpg的图片上传到文件夹upload中。
使用此组件可以完成上传,在上传的时候有一点需要注意的是,必须选择好要上传的文件是哪一个,这个选择肯定是由HTML中的表单来完成。
由于要上传文件了,则表单必须进行封装,因为传递的不再是普通的文本数据,表单的封装通过enctype来完成。
- smart_01.html
- <html>
- <head>
- <title>WEB开发</title>
- </head>
- <body>
- <form action="smart_01.jsp" method="post" enctype="multipart/form-data"> <!--封装表单-->
- 请选择要上传的文件:<input type="file" name="pic">
- <input type="submit" value="上传">
- </form>
- </body>
- </html>
这儿要注意的是:
1. 由于考虑到上传的文件一般都比较大,所以method要用post,而不能用get,因为get受地址栏长度的限制。
2.enctype="multipart/form-data"表示将按照二进制的形式提交,因为图片等文件都不是单纯的数字了,而是二进制形式的文件。
现在既然表单已经完成了,则此时就可以通过Smartupload完成上传了。在上传之前先做好如下几步:
1. 建立一个upload的文件夹来盛放上传的东西(图片dahai.jpg)。这个文件夹在MyEclipse中的创建如下图所示:
2. 将Smartupload的jar包导入进lib文件夹中,在开发工具中的导入如下图所示:(直接将jar包用鼠标拖入进lib中或者复制黏贴到lib中) 注:jar包在本文章末尾附带下载
3. 建立完成之后,需要按照如下步骤进行编写代码:
a: 实例化Smartupload对象
b:初始化上传的操作
c:准备上传
d:保存文件
- Smart_01.jsp
- <%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>
- <%@ page import="com.jspsmart.upload.*" %>
- <html>
- <head>
- <title>WEB开发项目</title>
- </head>
- <body>
- <%
- SmartUpload smart=new SmartUpload();
- smart.initialize(pageContext);// 初始化上传操作
- smart.upload(); //上传准备
- smart.save("upload"); //文件保存
- %>
- </body>
- </html>
上述代码中关于初始化等记住代码就行了,因为它们是固定的代码。
运行一下如下:
选择桌面上的dahai.jpg图片,然后点击上传,看一下tomcat下自己的项目webroot 里面的upload文件夹里,确实有了dahai.jpg这张图片,也就是说文件上传成功了。
但是这种上传产生了一个问题,如果在HTML中有其他的表单属性,比如:smart_01.html中的表单还有姓名年龄等属性,那么在smart_01.jsp中就无法正常取得了,因为在HTML中的表单封装了,那该怎么办,我们下篇文章(文件上传【01】Smartupload上传组件【中】)再一起学习。
下面是Smartupload的jar下载
转载于:https://blog.51cto.com/zhaoyuqiang/1139384
文件上传--Smartupload上传组件【上】相关推荐
- 上传文件、上传按钮、Form组件上传文件
for line in img.chunks() 将文件分成一块一块 style="opacity:0" 透明度 form多了验证 转载于:https://www.cnblogs ...
- 6行代码实现ASP无组件上传
目前有很多无组件上传类,我大概看了一下,大多写的相当复杂,有的居然还只能传文本,最关键的是没有10行代码以下的:),我花了一个晚上时间研究了一下ADODB.Stream,并且用了6行代码实现了无组件上 ...
- 在jsp中使用smartupload组件上传文件- -
在jsp中使用smartupload组件上传文件- - jsp对上传文件的支持不象php中支持的那么好,直接做成了函数,也不象asp中要通过组件才能实现.jsp中可以通过javabean来实现.但是我 ...
- 使用SmartUpload组件上传文件,自己踩过的坑
昨天使用SmartUpload组件上传文件,代码很简单: smartupload_demo01.html <html> <head><title>smartuplo ...
- 使用SmartUpload组件上传文件
刚刚上手的项目 被文件上传困扰了好久,之前用fileupload组件上传,代码参考孤傲苍狼博客,可是除了文件名,表单内的其他内容不知道该怎么读出来进行存储:所以此次采用smartupload组件进行上 ...
- javaweb上传文件_javaWeb中,如何通过CommonsFileUpload组件上传文件
大家好,欢迎来到雄雄的小课堂,今天给大家分享的是<javaWeb中,如何通过Commons-FileUpload组件上传文件> 前言:文件上传大家都不陌生,在这个互联网飞速发展的时代,共享 ...
- element-ui upload组件 上传文件类型限制
element-ui upload组件 上传文件类型限制 <el-uploadclass="c-upload"ref="upload":action=&q ...
- formdata上传文件_封装一个多文件断点续传、分片上传、秒传、重试机制的组件...
本文为:多文件断点续传.分片上传.秒传.重试机制 的更新版,若想看初始版本的实现,请查看该文章. 凡是要知其然知其所以然 文件上传相信很多朋友都有遇到过,那或许你也遇到过当上传大文件时,上传时间较长, ...
- Vue上传文件 iview Upload UI 组件上传组件
Vue上传文件 input支持上传文件 定义type类型,隐藏样式 第三定义change事件拿到file 的相关信息,accept限制支持的文件类型 然后给button增加点击事件 template部 ...
最新文章
- Android 自定义View ——Matrix (矩阵)
- library not found for -lAPOpenSdk解决方案
- TCP端口状态 LISTENING、ESTABLISHED、TIME_WAIT及CLOSE_WAIT详解,以及三次握手,滑动窗口
- TreeView的复选框隐藏 重新整理
- 我们做了一个医疗版MNIST数据集,发现常见AutoML算法没那么好用
- 船体6自由度英文名称
- 一分钟掌握Python字典的用法
- 软件行业各职位英文缩写
- 苹果应用商店审核_苹果应用商店AppStore审核规则指南
- 安川e1000中文说明书_安川(YASKAWA)变频器E1000说明书.pdf
- Win7 X64 SQL SERVER 2000企业管理器无法建立新表
- 联想服务器td340安装精简版win10
- 单片机学习和应用百问大全
- 构建供应商管理系统,打造企业端到端的高效供应链
- 广东高中生多少人_广东省高中生100米短跑记录是多少?谢谢
- 雪茄星系、玫瑰星云和灵魂星云
- pandas表格行列互换
- @available 和 #available的用法
- Android检测手机锁屏开屏事件
- 用pdf压缩软件压缩pdf文件的方法