文件下传smartupload的使用
文件上传smartupload的使用
昨天看代码突然对文件上传很感兴趣,就在网上扒拉,突然大家说有专业的文件上传的jar包,很好用,就搜搜相关文章学习了一下。这个jar包叫smartupload.jar。没有官方网让下载了,www.jspsmart.com不管用了,大家就不要去试了。不过我找到了个中文版的,想要的朋友可以在下面下载。
大家放心在我写的博客里只有我跑通的例子我才写,所以不要怀疑我提供的例子不管用,呵呵
首先是个前台界面upload.html
<html> <head> <title>请选择上传的图片</title> </head> <body> <table border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="45" align="center" valign="middle"><form action="uploadimage.jsp" method="post" enctype="multipart/form-data" name="form1"> <input type="file" name="file"> <input type="submit" name="Submit" value="上传"> </form></td> </tr> </table> </body> </html>
接着就是一个uploadimage.jsp
<%@ page contentType="text/html;charset=gb2312" language="java" import="com.jspsmart.upload.*,java.util.*"%> <% SmartUpload mySmartUpload = new SmartUpload(); long file_size_max = 4000000; String ext = ""; String url = "upload/"; //应保证在根目录中有此目录的存在(也就是说需要自己在tomcat下建立相应的文件夹,放不对地方的话是要报错的) //初始化 mySmartUpload.initialize(pageContext); //只允许上载此类文件 try { mySmartUpload.setAllowedFilesList("jpg,gif");//此处的文件格式可以根据需要自己修改 //上载文件 mySmartUpload.upload(); } catch (Exception e) { %> <SCRIPT language=javascript> alert("只允许上传.jpg和.gif类型图片文件"); window.location='upload.html'; </script> <% } try { //创建File对象 com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0); //看上传的文件路径里是否有值 if (myFile.isMissing()) { %> <SCRIPT language=javascript> alert("请先选择要上传的文件"); window.location='upload.html'; </script> <% } else { //String myFileName=myFile.getFileName(); //取得上载的文件的文件名 ext = myFile.getFileExt(); //取得后缀名 int file_size = myFile.getSize(); //取得文件的大小 String saveurl = ""; if (file_size < file_size_max) { //更改文件名,取得当前上传时间的毫秒数值 Calendar calendar = Calendar.getInstance(); String filename = String.valueOf(calendar.getTimeInMillis()); saveurl = application.getRealPath("/") + url; saveurl += filename + "." + ext; //保存路径 myFile.saveAs(saveurl, SmartUpload.SAVE_PHYSICAL); String ret = "alert('上传成功!');"; out.print("<script language=javascript>" + ret + "</script>"); } } } catch (Exception e) { out.print(e.toString()); } %>
当然它还能支持下载,编起来应该也很容易,等我弄出来在上传吧