APP前后台文件与图片传输
来源:互联网 发布:淘宝围巾店铺介绍 编辑:程序博客网 时间:2024/05/17 09:44
刚做APP不久,做到文件传输的时候想了很多的方法都不是很理想,在同事的建议下采用Base64 的编码解码方式,这样方式确实蛮好的,也支持断点操作,且安全,只要页面和后台的编码和解码方式统一即可。在路径返回上也做了处理,是在服务器的路径下建一个文件夹保存用户上传的文件。贴上代码:
private String decode(String file) throws IOException{String fileExt = "";fileExt = file.substring(file.lastIndexOf(".")).toLowerCase();byte[] byteDatas = Base64.decode(file.substring(0, file.lastIndexOf(".")));String str = ServletActionContext.getServletContext().getRealPath("/") + "userPic/";String saveUrl = request().getContextPath() + "/userPic/"; File saveDirFile = new File(str); if (!saveDirFile.exists()) { saveDirFile.mkdirs(); } String newFileName = FileUtils.getFileName()+ fileExt ; File ret = null; BufferedOutputStream stream = null; try { ret = new File(str+newFileName); FileOutputStream fstream = new FileOutputStream(ret); stream = new BufferedOutputStream(fstream); stream.write(byteDatas);} catch (IOException e) {e.printStackTrace();}finally{stream.close();}return saveUrl + newFileName;}
最近又遇到了个问题base64传文件时,文件不能过大,之后又选择了另外一种方式解决:将APP端的文件以File对象传输,java后台也以File对象来接收保存,贴上代码:
// 上传文件域private File frequency_path;
/** * 获取app端上传的文件 * @return * @throws Exception */public String uploadFile() throws Exception {String filePath = ServletActionContext.getServletContext().getRealPath("/")+ "userVideo/";String saveUrl = request().getContextPath() + "/" + "userVideo" + "/";File mf = new File(filePath);if (!mf.exists()) {mf.mkdirs();}String fileName = FileUtils.getFileName() + ".mp3";FileOutputStream fos = null;FileInputStream fis = null;try {System.out.println("获取Android端传过来的普通信息:");System.out.println("文件存放目录: " + filePath);System.out.println("文件名称: " + fileName);System.out.println("文件大小: " + frequency_path == null ? 0: frequency_path.length());File outFile = new File(filePath + File.separator + fileName);fos = new FileOutputStream(outFile);fis = new FileInputStream(getFrequency_path());byte[] buffer = new byte[1024];int len = 0;while ((len = fis.read(buffer)) != -1) {fos.write(buffer, 0, len);}System.out.println("文件上传成功");} catch (Exception e) {System.out.println("文件上传失败");e.printStackTrace();} finally {if (fos != null) {fos.close();}if (fis != null) {fis.close();}}return saveUrl + fileName;}
0 0
- APP前后台文件与图片传输
- JSONObject与JSONArray以及前后台数据通过json传输
- 前后台时间类型传输
- JSON实现前后台传输
- android app前后台判断
- json前后台传输String的处理
- javaScript与python(django)前后台传输数据格式的转换
- Android App前后台切换的监听
- android判断app前后台状态
- android app前后台的监听
- Android 判断App前后台运行状态
- App前后台切换的监听
- iOS ASIFormDataRequest上传图片 前后台代码
- 用highcharts前后台传输数据servlet--柱形图
- 用highcharts前后台传输数据struts2--柱形图
- 如何使用json数据进行前后台传输(整理)
- 在Java中Highcharts前后台数据交互传输
- Jquery多文件上传前后台代码
- centos升级到最新的mysql
- JavaScript单线程的疑问与解答
- 为的是躲避老婆的“声讨”
- HTTP消息头中的“Cache-control”介绍
- win7 vpn 619
- APP前后台文件与图片传输
- Spring IOC机制
- KEIL MDK调试小技巧
- LNK2026 XXX模块对于 SAFESEH 映像是不安全的
- JAVA启动参数大全
- 系统测试和集成测试的区别
- 必须Mark!最佳HTML5应用开发工具推荐
- 关于在UIScrollView上添加UITableView出现的问题【原理】
- 如何简单适用制作木纹背景