java文件上传下载接口_java 文件上传下载

java文件上传下载接口_java 文件上传下载翻新十年前的老项目,文件上传改为调用接口方式,记录一下子~~~java后台代码://取配置文件中的上传目录@Value(“${uploadPath}”)Stringpath;//文件上传接口@RequestMapping(value=”upload”)@ResponseBodypublicStringgetMobileAuthCode(HttpServletRequestreques…

大家好,又见面了,我是你们的朋友全栈君。

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

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) {

}

});

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146413.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月15日 上午10:20
下一篇 2022年5月15日 上午10:20


相关推荐

  • JAVA中json转Map,jsonArray转List集合,List集合转json

    JAVA中json转Map,jsonArray转List集合,List集合转json在写代码时,经常会遇到各转类型之间互相转换,比如json转换为Map,jsonArray转List集合,List集合转json,现在整理一个工具类,方便日后查阅。importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importorg.apac

    2022年6月23日
    29
  • 用py2exe打包成一个exe文件「建议收藏」

    用py2exe打包成一个exe文件「建议收藏」一、简介py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32comclient和server,和其它的独立程序。py2exe是发布在开源许可证下的。二、安

    2025年10月23日
    5
  • 如何修改host文件[通俗易懂]

    如何修改host文件[通俗易懂]一.host是什么:是一个没有扩展名的系统文件,可以用记事本等工具打开二.为何要修改host:1).就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。**2).加快域名解析** 对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度。由于有了

    2022年10月12日
    3
  • 服务器风扇端子型号,出几样物品-相机连接头,服务器风扇,滤波器,接线端子等等如图…

    服务器风扇端子型号,出几样物品-相机连接头,服务器风扇,滤波器,接线端子等等如图…1名称:CCD12针相机连接头,二手拆机件成色如图!线长3厘米,重量约21克。8元/只http://img02.taobaocdn.com/imgextra/i2/119912523/T2642jXsNXXXXXXXXX_!!119912523.jpg2名称:服务器风扇,品牌:三洋SANYO,型号:SANACE409CRA0412P5G05,12V1.0A,长40mm*宽40mm*高56mm,…

    2022年6月22日
    50
  • shipyard docker集群问题

    shipyard docker集群问题注册 docker 节点的时候查看 swarm 日志会有以下情况 INFO 0000 Initializing 0000 Registeringo 会一直注册不上 服务无法发现 如果配置正确 可尝试重启 dockersystem

    2026年3月17日
    2
  • 10-wtm数据权限

    10-wtm数据权限dataprivileg GUID 主键 用户编码 用户组编码 表名 关联 ID Domain 页面 添加用户组数据权限 用户权限 与用户组权限类似 不做介绍

    2026年3月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号