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目录都是可以的。

wordpress投资主题模版 白银黄金贵金属金融投资网站主题

wordpress投资主题模版是一套适合白银、黄金、贵金属投资网站主题模板,绿色大气金融投资类网站主题,专业高级自适应多设备企业CMS建站主题 完善的外贸企业建站功能模块 + 高效通用的后台自定义设置,简洁大气的网站风格设计 + 更利于SEO搜索优化和站点收录排名!点击进入:wordpress投资主题模版安装环境:运行环境:PHP 7.0+, MYSQL 5.6 ( 最低主机需求 )最新兼容:完美...

华纳云-618大促3折起,18元/月买CN2 GIA 2M 香港云,物理机高防同享,10M带宽独享三网直连,无限流量!

官方网站:点击访问华纳云活动官网活动方案:一、香港云服务器此次推出八种配置的香港云服务器,满足不同行业不同业务规模的客户需求,同时每种配置的云服务都有不同的带宽选择,灵活性更高,可用性更强,性价比更优质。配置带宽月付6折季付5.5折半年付5折年付4.5折2年付4折3年付3折购买1H1G2M/99180324576648直达购买5M/17331556710081134直达购买2H2G2M892444...

gcorelabs:美国GPU服务器,8张RTX2080Ti,2*Silver-4214/256G内存/1T SSD/

gcorelabs提供美国阿什本数据中心的GPU服务器(显卡服务器),默认给8路RTX2080Ti,服务器网卡支持2*10Gbps(ANX),CPU为双路Silver-4214(24核48线程),256G内存,1Gbps独享带宽仅需150欧元、10bps带宽仅需600欧元,不限流量随便跑吧。 官方网站 :https://gcorelabs.com/hosting/dedicated/gpu/ ...

smartupload为你推荐
微信收款语音播报怎么设置两部手机微信收款语音播报怎么设置g2g吉他的效果器的名称是什么意思?(G1G,G2G等等)fcloseC语言fclose错误空白代码html空格代码怎么写云图片华为手机的云照片怎么不见了怎么办editplus破解版cool edit pro 2.1汉化破解版索引超出了数组界限索引超出了数组界限spawning急救!编好C++程序后(确认无误),再编译时总出现error spawning 是什么意思?是不是系统出了问题ruby语言ruby什么意思?什么含义?layoutsubviews如何自定义UISearchBar?
100m虚拟主机 河南虚拟主机 广州服务器租用 linuxapache虚拟主机 hostmonster 百度云100as 免备案空间 香港机房托管 parseerror 湖南服务器托管 智能骨干网 免费个人空间申请 数字域名 七夕促销 新家坡 isp服务商 t云 服务器监测 如何建立邮箱 便宜空间 更多