smartupload为什么使用smartupload执行上传保存操作时用这句smart.save("upload")失败用smart.save("/upload")成功

smartupload  时间:2021-07-02  阅读:()

jspsmartupload.jar怎么用啊?

我以前项目使用过,但是后来被摒弃了,因为jspsmartupload.jar已经很久没有更新,而且它在上传大文件时会有问题 建议使mons-fileupload.jar(另外需mons-io.jar) 下面为部分源代码: /**Create a factory for disk-based file items*/ DiskFileItemFactory factory = new DiskFileItemFactory(); /**设置最大的内存大小*/ factory.setSizeThreshold(4096); /**创建一个新的文件上传操作*/ ServletFileUpload upload = new ServletFileUpload(factory); /**设置能上传的最大文件的大小*/ upload.setSizeMax(10*1024); /**Parse the request*/ List fileItems = upload.parseRequest(request); //开始读取上传信息 Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件 while(iter.hasNext()) { FileItem item = (FileItem) iter.next(); // 忽略其他不是文件域的所有表单信息 if (!item.isFormField()) { String name = item.getName(); String endName = name.substring(name.lastIndexOf(".") + 1); try{ item.write(new File(request.getRealPath("\"+sUploadDir+FileName+"."+ endName))); }catch(Exception e){ e.printStackTrace(); }

SmartUpload中文乱码如何解决???文件名的在Servlet中提取。

中文乱码问题 你可以使用一个转中文的工具类,在我的空间里也有。

很方便。

打包为.jar文件的话,也需要个工具类。



算了 我直接贴这吧。

方便后来人也 jar包的话 你去下mons-io-1.2.jar 就行了。

以下是ZIP工具类~ ------------------------------------------ import java.io.*; import java.util.Enumeration; import java.util.zip.*; mons.io.FilenameUtils; /** * zip压缩工具。

暂不支持中文文件名。

* * @author zhangjin * */ public class ZipUtils { public static void main(String[] args) { long start = System.currentTimeMillis(); zip("D:/bak", "D:/test.zip"); // System.out.println(System.currentTimeMillis() - start); // start = System.currentTimeMillis(); // unzip("d:\test.zip", "d:\hoho"); System.out.println(getCRCCode("D:\sessionserver.jar")); System.out.println(System.currentTimeMillis() - start); } public static final int DATA_BUFFER = 8192; /** * 获得crc签名。

* @param filename * @return */ public static String getCRCCode(String filename){ String code = ""; try{ FileInputStream fileinputstream = new FileInputStream(filename); CRC32 crc32 = new CRC32(); CheckedInputStream checkedinputstream = new CheckedInputStream(fileinputstream, crc32); byte data[] = new byte[DATA_BUFFER]; while (checkedinputstream.read(data, 0, DATA_BUFFER)!=-1){} code = Long.toHexString(crc32.getValue()); } catch (Exception e) { e.printStackTrace(); } return code; } /** * 压缩文件,只处理一层目录,不处理多层目录。

* * @param srcdir * @param filename */ public static void zip(String srcdir, String filename) { try { //如果目录不存在,创建目录 String filepath = FilenameUtils.getFullPath(filename); File zippath = new File(filepath); if (!zippath.exists()) zippath.mkdirs(); ZipOutputStream out = new ZipOutputStream(new DataOutputStream( new FileOutputStream(filename))); subzip(srcdir, "", out); out.close(); } catch (Exception e) { e.printStackTrace(); } } /** * 递归处理多级目录。

* * @param srcdir * @param subdir * @param out * @throws Exception */ private static void subzip(String srcdir, String subdir, ZipOutputStream out) throws Exception { subdir = subdir.equals("") ? "" : (subdir.startsWith(File.separator) ? subdir : File.separator + subdir); File dirfile = new File(srcdir + subdir); // System.out.println(srcdir+subdir); String[] files = dirfile.list(); String subname = ""; for (int i = 0; i < files.length; i++) { subname = srcdir + subdir + File.separator + files[i]; if (new File(subname).isDirectory()) { subzip(srcdir, subdir + File.separator + files[i], out); } else { BufferedInputStream in = new BufferedInputStream( new FileInputStream(subname), DATA_BUFFER); out.putNextEntry(new ZipEntry((subdir.equals("") ? "" : (subdir .startsWith(File.separator) ? subdir.substring(1, subdir.length()) + File.separator : subdir + File.separator)) + files[i])); int count; byte data[] = new byte[DATA_BUFFER]; while ((count = in.read(data, 0, DATA_BUFFER)) != -1) { out.write(data, 0, count); } in.close(); } } } /** * 解压缩文件。

* * @param filename * @param destdir */ public static void unzip(String filename, String destdir) { try { BufferedOutputStream dest = null; BufferedInputStream is = null; ZipEntry entry; ZipFile zipfile = new ZipFile(filename); Enumeration e = zipfile.entries(); while (e.hasMoreElements()) { entry = (ZipEntry) e.nextElement(); // System.out.println("Extracting: " + entry); is = new BufferedInputStream(zipfile.getInputStream(entry)); int count; byte data[] = new byte[DATA_BUFFER]; // 检查目录,强制建立。

String zipedfilename = destdir + File.separator + entry.getName(); String zipedfilepath = FilenameUtils.getFullPath(zipedfilename); File zipedpath = new File(zipedfilepath); if (!zipedpath.exists()) zipedpath.mkdirs(); FileOutputStream fos = new FileOutputStream(zipedfilename); dest = new BufferedOutputStream(fos, DATA_BUFFER); while ((count = is.read(data, 0, DATA_BUFFER)) != -1) { dest.write(data, 0, count); } dest.flush(); dest.close(); is.close(); } } catch (Exception e) { e.printStackTrace(); } } }

smartupload.jar放的路径到底是什么?

1. 不用把jar文件里面的Class解压到WEB-INF/classes,先把这些删除了吧。

2. 下载servletAPI.jar 3. 设置你的在eclipse中,ClassPath。

JspSmartUpload上传组件有哪些特点

SmartUpload 是一个免费的上传下载组件,好像早已经停止开发了。

SmartUpload.jar:我找到的最好的一个jar包,对于编码为GBK的,完全支持中文名文件的上传与下载;但对于UTF-8的,中文名上传可以,但中文名下载还是乱码。

这个组件,小项目用用还行,对于大项目,不建议使用。

比较常用的有mons-fileupload等,而且许多框架都集成了上传下载功能,如Struts 1/ Struts 2 另外,注意一点:由于smartupload是把文件全部缓存到内存里,所以上传大文件或多文件时就有可能出错,建议一般不要超过20M,个数也不要太多

如何使用jspsmartupload

jspSmartUpload太小巧,问题很多,代码共享者很早就没有再维护次小项目,建议用monupload. 下载文件不用任何组件也可以,你只要给出正确的mime type即可。

为什么使用smartupload执行上传保存操作时用这句smart.save("upload")失败用smart.save("/upload")成功

你好,smart.save(“”)方法是将文件保存到指定目录,upload 表示当前请求文件的相对路径,/upload是表示web应用根目录下的upload目录。

只要能找到upload目录都是可以的。

云基最高500G DDoS无视CC攻击(Yunbase),洛杉矶CN2GIA、国内外高防服务器

云基成立于2020年,目前主要提供高防海内外独立服务器用户,欢迎各类追求稳定和高防优质线路的用户。业务可选:洛杉矶CN2-GIA+高防(默认500G高防)、洛杉矶CN2-GIA(默认带50Gbps防御)、香港CN2-GIA高防(双向CN2GIA专线,突发带宽支持,15G-20G DDoS防御,无视CC)、国内高防服务器(广州移动、北京多线、石家庄BGP、保定联通、扬州BGP、厦门BGP、厦门电信、...

VoLLcloud:超便宜香港CMI大带宽vps-三网CMI直连-年付四免服务-低至4刀/月-奈飞

vollcloud LLC创立于2020年,是一家以互联网基础业务服务为主的 技术型企业,运营全球数据中心业务。致力于全球服务器租用、托管及云计算、DDOS安 全防护、数据实时存储、 高防服务器加速、域名、智能高防服务器、网络安全服务解决方案等领域的智 能化、规范化的体验服务。所有购买年付产品免费更换香港原生IP(支持解锁奈飞),商家承诺,支持3天内无条件退款(原路退回)!点击进入:vollclo...

Hostodo(年付12美元),美西斯波坎机房Linux VPS主机66折

Hostodo 商家是比较小众的国外VPS主机商,这不看到商家有推送促销优惠在美国西岸的斯波坎机房还有少部分库存准备通过低价格促销,年付低至12美元Linux VPS主机,且如果是1GB内存方案的可以享受六六折优惠,均是采用KVM架构,且可以支付宝付款。第一、商家优惠码优惠码:spokanessd 1GB+内存方案才可以用到优惠码,其他都是固定的优惠低至年12美元。第二、商家促销这里,我们可以看到...

smartupload为你推荐
云图片简单易学画的云彩图片rdlDVD±RW/±RDL/RAM 具体什么意思郭凡生馬云的簡介3Q李昊天李昊天这名字给多少分arc是什么意思arctanx等于什么?天融信防火墙笔记本怎么登陆天融信防火墙waves插件请问下waves9是什么东西,插件吗?ruby语言Ruby是一种什么样的语言,主要用来做什么,现在有一家公司让我从java转ruby,我很犹豫?memsql易语言的msql连接怎么不成功,错哪呢?新手怎么制作表格怎样能学会制作表格
vps推荐 查询ip地址 罗马假日广场 香港vps99idc mediafire下载工具 免费ftp空间 国内php空间 193邮箱 双十一秒杀 91vps 服务器干什么用的 重庆双线服务器托管 购买国外空间 免费私人服务器 最漂亮的qq空间 移动服务器托管 智能dns解析 帽子云排名 免费网络 摩尔庄园注册 更多