翻新十年前的老项目,文件上传改为调用接口方式,记录一下子~~~

java后台代码:

//取配置文件中的上传目录

@Value("${uploadPath}")

String path;

//文件上传接口

@RequestMapping(value = "upload")

@ResponseBody

public String getMobileAuthCode( HttpServletRequest request,String files ,String appId,String fileUUIDs,String myCallback)

throws Exception {

//文件支持多个 以逗号分隔

String[] file=files.split(",");

//文件生成的uuid ,以逗号分隔,防止文件重名

String[] fileUUID=fileUUIDs.split(",");

//本地文件

File localFile;

InputStream input = null;

OutputStream output = null;

for (int i = 0; i

localFile=new File(file[i]);

String fileName = localFile.getName();

//获取文件类型

String filetype=fileName.substring(fileName.indexOf("."),fileName.length());

try {

File var4 = new File(path+"\\" + appId);

//若目标地址不存在,则创建

if (!var4.exists() || var4.exists() && !var4.isDirectory()) {

var4.mkdirs();

}

//将本地文件 写入目标地址

input = new FileInputStream(localFile);

output = new FileOutputStream(new File(path + "\\" +appId+"\\"+ fileUUID[i]+filetype));

byte[] buf = new byte[1024];

int bytesRead;

while ((bytesRead = input.read(buf)) != -1) {

output.write(buf, 0, bytesRead);

}

}catch (Exception e){

System.out.println("文件上传失败");

e.printStackTrace();

}finally {

input.close();

output.close();

}

}

String result = "{'ret':'true'}";

result=myCallback+"("+result+")";

return result;

}

//文件下载

@RequestMapping("downLoad")

public ResponseEntity downloadFile(String fileUrl,String needFile) throws IOException {

//获取文件路径

HttpHeaders headers = new HttpHeaders();//http头信息

File file = new File(path+"\\"+fileUrl);//新建一个文件

String downloadFileName = new String(needFile.getBytes(), "iso-8859-1");

//设置编码

headers.setContentDispositionFormData("attachment", downloadFileName);

headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);

return new ResponseEntity(FileUtils.readFileToByteArray(file), headers, HttpStatus.CREATED);

}

jsp 页面代码:

window.open("http://ip:port/file/downLoad?needFile="+filename+"&fileUrl="+fileurl);//下载

//上传

$.ajax({

url: "http://ip:port/file/upload",

type: 'post',

dataType:'jsonp',

jsonp: "callback",

data:{

"files":files,

"appId":contentForm.appId.value,

"fileUUIDs":fileUUIDs

},

success: function (data) {

}

});

java文件上传下载接口_java 文件上传下载相关推荐

  1. JAVA设置流中当前位置_java文件流的问题!急

    朋友你好,用使用 javadoc 标记可以做到.具体说明如下:: javadoc 标记是插入文档注释中的特殊标记,它们用于标识代码中的特殊引用.javadoc 标记由"@"及其后所 ...

  2. java绝对路径和相对路径_Java文件路径,绝对路径和规范路径

    java绝对路径和相对路径 Today we will look into the Java file path. Java File path can be abstract, absolute o ...

  3. java如何调c 的接口_JAVA中调用C语言接口

    写一个Java类,在这个类中包含了需要调用的本地方法的描述. //WinMsgBox.java package edu.netcom.jni; public class WinMsgBox  { st ...

  4. java 上传速度计算_Java文件上传速度很慢

    我已经构建了一个小型服务,它从 Android设备接收图像并将它们保存到Amazon S3 Bucket.代码很简单,但速度很慢.它是这样的: public synchronized static R ...

  5. java在文本区输出方法_Java文件的几种读取、输出方式

    1.字节流----对文件读取(速度慢) /** * 字节流---文件的读取,输出(缺点:速度慢) * * @throws Exception */ @Test public void testIO1( ...

  6. java 上传速度计算_java – 确定上传的传输速率

    使用 android.net.TrafficStats获得传输的业务量是可行的.以下是测量上游和下游传输速率的这种思想的实现.您可以通过将TrafficSpeedMeasurer.TrafficTyp ...

  7. java的类库安装在哪_Java系列学习(一)-JDK下载与安装

    1.Java语言平台版本 J2SE:Java 2 Platform Standard Edition,java平台标准版 J2ME:Java 2 Platform Micro Edition,java ...

  8. java i/o 的一些接口_Java I/O 操作的一些基本知识

    1.文件类:File ,也是唯一的单独的文件类.可以对文件进行操作.其方法有:exists(),delete(),isDirectory(),createNewFile(),getName(),get ...

  9. java项目短信群发接口_JAVA实现第三方短信发送过程详解

    想使代码生效需要注册: 在muven项目里面导入jar包 commons-codec commons-codec 1.4 commons-httpclient commons-httpclient 3 ...

  10. java达达租车接口_java达达租车系统,初学者,希望大家能给些批评建议,共同学习...

    package com.edward; public class Vehicle {//父类 int id,people; String name; float price,cargo; } publ ...

最新文章

  1. leveldb源码分析:数据查询
  2. 防止Stack smash的技术
  3. 如何查找cvpr类的论文_如何查找期刊论文?(3个实用的方法)
  4. python职业发展方向_59秒看懂IT运维的发展方向及职业规划
  5. 线段树专辑—— pku 3468 A Simple Problem with Integers
  6. atitit prj mnrs 项目中的几种经理角色.docx
  7. IC工程师简历制作全解读
  8. 全国中小学信息技术创新与实践大赛:软件创意编程赛道
  9. 公开信息查询的一些方法,查征信,查婚姻状况,查询公开个人信息
  10. 1434:相亲的胖胖
  11. 异物堆积,导致手机Type-C接口充电不畅、无法充电的问题
  12. 如何用JavaScript自己实现一个unshift() 方法
  13. 【youcans 的 OpenCV 学习课】7. 空间域图像滤波
  14. 8位二进制数中,对于-128的一些个人理解
  15. Java 实现位运算计算加减乘除
  16. (译)如何做一个塔防游戏(cocos2d 2012-8-17)
  17. 营销落地页及客服咨询转化技巧 —百度竞价
  18. python编程控制机器人_python人工智能机器人工具书籍: Learn Robotics Programming 2018
  19. 【Untiy摄像机相对坐标矢量】
  20. 史上最好用教程——Vs Code 配置c++环境【带有环境安装包】

热门文章

  1. vb 运行错误429 mysql_Win7运行VB工具提示“运行时错误429 ActiveX部件不能创建对象”如何解决...
  2. php递归实例,php递归经典案例
  3. iframe用法详解
  4. 知道华为HMS ML Kit文本识别、银行卡识别、通用卡证识别、身份证识别的区别吗?深度好文教你区分
  5. 有哪些免费不收费的文件数据恢复软件?
  6. 礼物linux项目,好玩的Linux命令,将礼品包在盒子中
  7. 信息安全从业者考试认证大全(转自FreeBuf.COM 作者:522952110)
  8. Northwind数据库下载地址
  9. 六度空间 c语言 【详解】
  10. C#实现的基于SMTP协议的E-MAIL电子邮件发送客户端软件