下载的文件已损坏

本文介绍如何在macOS上通过控制台命令显示或隐藏通用设置中的“任何来源”选项。通过执行特定命令,用户可以轻松地启用或禁用此功能。
 “通用”里有时没有“任何来源”这个选项:
         显示"任何来源"选项在控制台中执行:
    sudo spctl --master-disable
         不显示"任何来源"选项(macOS 10.12默认为不显示)在控制台中执行:
    sudo spctl --master-enable
在Spring MVC中遇到下载文件损坏且无大小的问题,可参考以下思路和示例代码来解决。 首先,检查文件读取和传输过程是否正确。像引用[3]中提供的示例代码,能确保文件被正确读取并设置响应头,避免中文乱码和文件格式问题: ```java import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.context.ContextLoader; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; public ResponseEntity<byte[]> download(String fileName) throws Exception { String filePath = ContextLoader.getCurrentWebApplicationContext().getServletContext().getRealPath("/static/images/"); File file = new File(filePath + File.separator + fileName); org.springframework.http.HttpHeaders headers = new org.springframework.http.HttpHeaders(); // 解决中文乱码 String downloadFileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1"); // 文件名设置UTF-8编码,并以附件形式下载 headers.setContentDispositionFormData("attachment", downloadFileName); // 以PDF文件格式下载 headers.setContentType((MediaType.parseMediaType("application/pdf"))); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.CREATED); } ``` 此代码将文件内容读取为字节数组,设置正确的响应头,以附件形式下载文件,可避免文件损坏和格式错误。 其次,可参考引用[2]中提到的帖子(http://www.iteye.com/topic/1125784 ),该帖子作者解决了文件下载损坏的问题,其思路或许能为解决文件损坏且无大小的问题提供帮助。 此外,还需检查文件大小限制设置。若文件大小超出限制,可能会导致文件下载不完整或损坏。可在Spring MVC配置中设置文件大小限制,如引用[1]所示: ```xml <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonMultipartResolver"> <!-- 设置最大文件上传大小(单位:字节) --> <property name="maxUploadSize" value="10485760" /> <!-- 设置内存中处理的最大文件大小(超过则写入临时目录) --> <property name="maxInMemorySize" value="1048576" /> </bean> ``` 确保`maxUploadSize`和`maxInMemorySize`足够大,以支持要下载文件大小。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值