使用smortupload上传和下载文件

手机软件开发 2024-9-30 09:10:16 41 0 来自 中国
smortupload是一套上传组件包,可以轻松实现上传及下载功能,可以限定上传文件的范例,也可以轻易得到文件的后缀名。
smortupload是以jar包的情势给出的,再使用的时间要放到web的lib目次下举行设置使用。由于要上传文件,则必须对表单举行封装,由于转达的不是平凡的二进制文件。在from标签里要使用enctype="multipart/form-data"转成二进制的文件
<form action="/newbook" method="post" id="register" name="upload" enctype="multipart/form-data">将表单提交到servlet后不能再时使用原先方法内里的哀求和相应对象,要初始化smortupload组件里的哀求和相应对象,起首创建smortupload对象
//        创建smortupload对象        SmartUpload su = new SmartUpload();//        初始化哀求和相应对象        su.initialize(this.getServletConfig(),req,resp);//       创建一个新的哀求对象        Request req1 = su.getRequest();通过smortupload组件中的upload上传
//        上传过程        try {            su.upload();        } catch (SmartUploadException e) {            e.printStackTrace();        }获取到上传的文件对象(留意这个对象所在的包)
Files fs  = su.getFiles();//        获取第一个文件        File f = fs.getFile(0);//        获取文件名称        String fname = f.getFileName();把上传的文件生存到指定的位置,这里的路径推荐是使用相对路径
        try {            su.save("D:/Java/BookShop/web/img/bookpicture");        } catch (SmartUploadException e) {            e.printStackTrace();        }使用上面新创建的哀求对象获取到表单内里的参数
String bookname = req1.getParameter("bookname");留意这里拿到的是一个二进制的数据,以是我们在存入数据库之前要举行转码,使用utf-8的编码格式
String bookname1 = new String(bookname.getBytes(),"utf-8");然后毗连数据库就可以了。
文件的下载
// 获取必要下载的文件名        String filename = req.getParameter("filename");        // 得到文件所在        String url = "/uploadfile/"+filename;        // 将相应的内容设置为通用的二进制流        resp.setContentType("application/octet-stream");        // attachment 告诉欣赏器以附件的方式下载文件(弹出下载框)        filename = URLEncoder.encode(filename,"utf-8");        resp.addHeader("Content-Disposition","attachment;filename="+filename);        // 发送        req.getRequestDispatcher(url).forward(req,resp);        // 清空缓存区:将服务端缓存区的文件内容,立即传送给客户端        resp.flushBuffer();到此smortupload的上传和下载结束。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:52, Processed in 0.177214 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表