还是遵循以往的学习方法,搭建自己的java知识体系,努力提高学习的能力。在java世界里面存在着很多开源的东西,新技术,新产品随时都可能到来。JavaSE算是有一个非常不错的API,但是还有大多数的开源Jar包没能有一个很好的组织格式的开发文档,因此自学起来非常不易,所以尝试了一下使用Smartupload组件。


首先要说的是网上到处都是jspsmartupload和smartupload的包和讲解问档。多数都是直接将其中的类简单的描述了一些,个人觉得这些对于熟悉java开发的人来说,用处不大。

还有一个问题是:关于smartupload的包放在什么地方。 在开发工具中如MyEclipse或者Eclipse中Build-path然后Configure-build-path然后add-extends-jar这样就可以了。至于在Tomcat目录下的复杂配置查看此文

图片上传最终还是成功了,使用的是魔乐科技李兴华老师提供的smartupload包。


上传文件的步骤:

1.实例化SmartUpLoad实例

2.初始化上传操作

3.准备上传文件

4.上传文件

在jsp页面导入包特别重要。

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>  <%@ page language="java" import="org.lxh.smart.*" %>  <%@ page language="java" import="java.io.File"%>  <%@ page language="java" import="org.lxh.servlet.*" %> 

文件上传可以是单个文件也可以是多个文件,至于方法的使用在开发工具中虽然不能看到源代码,但是每一个类的方法和属性都是可以看到了,结合JavaSE的API基本上都可以猜测和测试出每一个方法的基本功能,还有谷歌和百度在手边问题迎刃而解。


还是遇到了一些问题:

1.文件存放的路径,Web服务器的Webpps目录下用户自己建立的上传文件存储目录

2.获得上传文件的目录:

String realPath = application.getRealPath(File.separator                      + File.separator + "upload" + File.separator                      + File.separator);              System.out.println(realPath); 

3.还可以直接使用新建的上传文件目录即可。

smart.save(realPath);              //smart.save("upload"); 

同样可以通过。

4.上传文件时同名文件会覆盖,解决办法是对每一个上传文件重命名。可以使用时间,IP,随机数共同产生一个字符串来作为文件名

5.在smartupload

<%@ page language="java" import="org.lxh.smart.File"%>  <%@ page language="java" import="org.lxh.smart.Files"%>  <%@ page language="java" import="org.lxh.servlet.*"%> 

有File和Files类,因为在生成新的文件名时使用到了File.separator导致文件操作不正确,知识问题出现是因为导入包是出现了同名类,使用java.io.File.separator最终解决了该问题。

6.产生新的文件名标识和文件上传的文件路径

//获取上传的文件的扩展名                  File f=fs.getFile(i);                  String ext = f.getFileExt();                  //使用时间戳生成的文件名                  String upFileName = its.getIPTimeRand();                  //使用原文件的扩展名,上传后的文件全名                  String realFileName = upFileName +"."+ ext;                  System.out.println(realFileName);                  System.out.println(this.getServletContext().getRealPath("/") + "upload"                                  + java.io.File.separator + realFileName); 

使用到时间戳标识来产生一个唯一表示文件的文件名。

7.在网上看到一篇文章中写到使用Smartupload包但是使用的方法很多在在smartupload包中没能找。

8.http://www.jspsmartupload.com网站已经关闭。

本文出自 “野马红尘” 博客,谢绝转载!

转载于:https://my.oschina.net/aiilive/blog/507323

smartupload实现文件上传相关推荐

  1. 利用MultipartFile实现文件上传

    利用MultipartFile实现文件上传 在java中上传文件似乎总有点麻烦,没.net那么简单,记得最开始的时候用smartUpload实现文件上传,最近在工作中使用spring的Multipar ...

  2. 文件上传--Smartupload上传组件【上】

    首先祝愿大家2013元宵节快乐! 图片等文件上传不同于单纯的数字,文件在计算机中以二进制的形式存在,文件的上传要用到Smartupload组件.我们一起学习一下如何利用Smartupload组件上传文 ...

  3. SmartUpload文件上传组件的使用教程

    在项目中使用SmartUpload组件可以进行文件的上传和下载操作 使用步骤 1.导入jar包,进行build path操作 2.编写文件上传页面,代码如下 <form action=" ...

  4. java使用smartupload组件实现文件上传的方法

    为什么80%的码农都做不了架构师?>>>    本文实例讲述了java使用smartupload组件实现文件上传的方法.分享给大家供大家参考.具体分析如下:文件上传几乎是所有网站都具 ...

  5. 文件上传与下载SmartUpload

    文件上传与下载SmartUpload组件, 需要架包jspSmartUpload.jar 上传:需要表单的file属性 SmartUpload实例化和初始化 利用SmartUp限制文件类型 得到文件列 ...

  6. smartupload文件上传与下载

    Jsp+Servlet 来实现文件上传 在日常的开发中,为了提高开发的效率,我们通常使用组件和框架来进行开发. 一般使用 FileUpload / Smartupload 组件 二.SmartUplo ...

  7. 富文本编辑器CKeditor文件上传下载SmartUpload插件

    目录 富文本编辑器 1.概述 2.常用富文本编辑器 3.CKeditor介绍 4.CKeditor的使用步骤 4.1 进入官网,下载full版本(这个代表的是使用全部功能,如果是simple或者sta ...

  8. java文件上传_Java文件上传细讲

    什么是文件上传? 文件上传就是把用户的信息保存起来. 为什么需要文件上传? 在用户注册的时候,可能需要用户提交照片.那么这张照片就应该要进行保存. 上传组件(工具) 为什么我们要使用上传工具? 为啥我 ...

  9. 安卓开发8-WebView支持文件上传

    安卓手机中采用webview访问OA系统,当OA中使用input=file的方式时,点选择文件没有反应,需要在WebChromeClient中增加openFileChooser方法:chrome浏览器 ...

  10. 10.基于Tomcat的SmartUplaod文件上传

    文件的上传是项目中常见的核心功能,比如在注册的时候可能在表单中要求用户提交照片等.此时就需要使用到文件的上传,本次课题以上传雇员的照片作为需求,但是在很多时候上传的的需求不仅仅是雇员,可能需要上传管理 ...

最新文章

  1. Fine-tune之后的NLP新范式:Prompt越来越火,CMU华人博士后出了篇综述文章
  2. Spring MVC 中使用 Google kaptcha 验证码
  3. python列表切片口诀-python学习之“切片操作从入门到精通”
  4. MySQL查询输入三个数的和_mysql(三)(单表查询、select、where、聚合函数、count、sum、avg、MAX/MIN、分组查询、group by、having、limit)...
  5. 管能做暖气管道吗_这样的暖气管道施工,标准吗
  6. cisco无线网络实施方案
  7. python下载文件传到服务器_python实现FTP文件传输的方法(服务器端和客户端)
  8. python collections模块_Python 的collections模块
  9. VMware (威睿) 虚拟化产品简介
  10. Android 应用开发 --- popupwindow
  11. 访问不了html的内容,index.html文件内容与实际访问结果不同
  12. hdu acm 1540
  13. STM32CubeMX——固件库下载以及安装
  14. c3300 京瓷km5050_京瓷复印机通用维修代码2
  15. Elasticsearch 原理,安装,生产配置以及常见CRUD,ILM管理,常见API解析,go-elasticsearch-client使用
  16. OpenCV每日函数 几何图像变换模块 (8) remap函数
  17. 2020-10-17(学生管理系统)
  18. 数学建模学习思维导图
  19. 刹那芳华,犹如指尖流砂
  20. 连接Mysql提示Can’t connect to local MySQL server through socket的解决方法

热门文章

  1. mac 卸载java 9
  2. Pano2VR生成的HTML文件打开为黑屏
  3. Oracle 锁表查询大全
  4. 绩效管理-目标拆解技巧
  5. oracle arm版本,Oracle版本区别
  6. 九九乘法表的四种打印模式
  7. 服务器组态文件己写保护,组态王常见问题集锦(一)
  8. 虚拟机安装OpenGauss企业版
  9. 前端移动端开发(基础)
  10. 阿里巴巴大数据之路-大数据领域建模综述