上传图片文件遇到的文件损坏问题
来源:互联网 发布:淘宝主图尺寸多少最好 编辑:程序博客网 时间:2024/04/28 21:20
上传图片文件遇到的文件损坏问题
- 以前我记录过上传文件的方法,那是相当于字符流的方式复制一份文件存在我想要存文件的地方,这次先搞图片上传的时候先前也准备使用这个方法的,但不幸的是,这种方式不适合图片!
- 原因在:
- 字符流主要针对一些文本文档(比字节流操作的效率要高),比如.txt、.doc,而pdf就不行。
- 则:
- 你若还想使用流的方式去处理文件上传操作的话,你可能需要用到字节流,
字节流几乎可以对任何文件类型进行操作,主要是对非文件类型的,如媒体文件(音频,视频,图片…);
然而我并不想将字节流,在这里提一下只是告诉你们有这回事…
我的推荐
MultipartFile中的void transferTo(File dest) throws IOException, IllegalStateException;
这次我推荐一个api哈!
前端js什么的就不提供了,实在要看的话,走你,看我以前的上传文件
@RequestMapping ("/uploadFile") @ResponseBody public String doUploadMapFile (@RequestParam (value = "uploadfile", required = false) MultipartFile uploadfile, HttpServletRequest request) { Map <String, Object> data = new HashMap <String, Object> (); boolean result = Boolean.TRUE; // 定义容器接收文件名 String uploadFileName = null; // 服务器存放改文件的文件名 String newUploadFileName = null; // 文件保存路径 String filePath = null; String visitUrl = null; String savePath = null; //String savePath ="D:\\CXAPP\\CXHOME\\sys\\tx\\resource\\"; //String visitUrl ="http://localhost:8080/resource/"; try { // 头像图片保存路径 savePath = PropertiesUtils.getPropertiesFromPlatform ("tx", "img_save_path"); // 头像图片访问路径 visitUrl = PropertiesUtils.getPropertiesFromPlatform ("tx", "img_visit_path"); // 获取上传文件名(带格式) uploadFileName = uploadfile.getOriginalFilename (); // 获取最后"."的位置 int lastIndex = uploadFileName.lastIndexOf ("."); // 获取上传文件的格式 String fileType = uploadFileName.substring (lastIndex, uploadFileName.length ()); // 以当前系统毫秒值为新文件名 newUploadFileName = String.valueOf (System.currentTimeMillis ()) + fileType; File mkdir = new File (savePath + Constant.IMG_FOLDER); if (!mkdir.exists ()) { mkdir.mkdirs (); } filePath = savePath + Constant.IMG_FOLDER + File.separator + newUploadFileName; File date = new File (filePath); uploadfile.transferTo (date); } catch (Exception e) { result = Boolean.FALSE; data.put ("errorMsg", "文件上传失败!"); } data.put ("success", result); data.put ("resultMsg", uploadFileName + "上传成功!"); data.put ("imgAddress", Constant.IMG_FOLDER + "/" + newUploadFileName); data.put ("visitImgAddress", visitUrl + Constant.IMG_FOLDER + "/" + newUploadFileName); String jsonStr = JSONObject.fromObject (data).toString (); return jsonStr; }
只有一个重点:uploadfile.transferTo (date);
这里它会把你接受的上传文件放到你前面定义的文件里去的.
该方法中用到的jar包及提示
- 提示:
- 前面的 // 头像图片保存路径
savePath = PropertiesUtils.getPropertiesFromPlatform (“tm”, “tm_img_save_path”);
// 头像图片访问路径
visitUrl = PropertiesUtils.getPropertiesFromPlatform (“tm”, “tm_img_visit_path”);
是从配置文件中获取资源,你们若没有使用重配置中获取的话,把路径写成常量或者变量都行,比如:
String savePath =”D:\CXAPP\CXHOME\sys\tx\resource\”;
String visitUrl =”http://localhost:8080/resource/”; - jar包:
- import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import net.sf.json.JSONObject;
阅读全文
0 0
- 上传图片文件遇到的文件损坏问题
- 关于webview上传文件(图片)遇到的问题
- 文件上传遇到的问题
- 文件上传,文件损坏
- Java使用FTP上传文件被损坏的问题
- jdk安装遇到cab文件损坏问题
- cifs上传docx文件损坏问题小记
- 上传wmv文件遇到的问题
- jsp、servlet上传文件遇到的问题
- struts文件上传和遇到的问题
- struts文件上传和遇到的问题
- 【JAVA】Socket文件上传遇到的问题!~
- php上传文件遇到的问题
- nginx文件上传遇到的意外问题
- SrpingMVC 文件上传容易遇到的问题
- 文件上传时候可能遇到的问题
- 文件上传时,所遇到的问题
- Django文件上传遇到的问题
- mysql和oracle的xml的sql语句互转
- Three.js呈现3D效果机房--初步方案
- sysbench 基准测试遇到的一个问题
- 关于组合逻辑电路的一点总结和思考
- thinkphp读取文件,写一个敏感词汇判断方法
- 上传图片文件遇到的文件损坏问题
- Android拍照及图片裁剪、调用系统相册(兼容6.0以上权限处理及7.0以上文件管理)
- 小芝适1
- 准确Bean
- temp backup:selenium testng ant report POM testng.xml build.xml
- C# 实现的xml操作类完整实例
- Linux debain 系统 树莓派 中修改主机名
- 自动化脚本之关键字驱动脚本
- 当我说要做大数据工程师时他们都笑我,直到三个月后……