java解决上传文件接口文件过大页面崩溃
彭培阳
共 888字,需浏览 2分钟
· 2022-03-15
不能直接用流读写文件,文件太大会使内存不足,使用缓存循环读写
for (Map.Entry
String originalFilename = file.getOriginalFilename();
//新的文件名称
String newFileName = res + originalFilename.substring(originalFilename.lastIndexOf('.'));
String rootPath = upPath + File.separator + dateDirs + File.separator + newFileName;
//新文件
File newFile = new File(rootPath);
//判断目标文件所在的目录是否存在
if (!newFile.getParentFile().exists()) {
//如果目标文件所在的目录不存在,则创建父目录
newFile.getParentFile().mkdirs();
}
try(
InputStream in = file.getInputStream();
FileOutputStream fos = new FileOutputStream(newFile);
BufferedOutputStream bos = new BufferedOutputStream(fos);){
int b=-1;
byte[]buffer = new byte[1024];
while ((b=in.read(buffer))!=-1){
bos.write(buffer,0,b);
}
}catch (Exception e){
//将内存中的数据写入磁盘
}
评论
carrierwaveRails 文件上传
carrierwave是Rails的一个扩展用来提供简单而且灵活的文件上传处理,可以跟基于Rack的Web应用良好集成。示例代码:uploader=AvatarUploader.newuploader
carrierwaveRails 文件上传
0
class.upload.phpPHP文件上传管理器
class.upload.php为你管理基于HTTP的文件上传,示例代码:$foo=newUpload($_FILES['form_field']);if($foo->uploaded){ //
class.upload.phpPHP文件上传管理器
0
ShrineRuby 文件上传工具包
Shrine是提供给Ruby应用的文件上传工具包:简单,灵活,高性能,安全,支持直接上传。基础示例:require "shrine"require "shrine/storage/file_syste
ShrineRuby 文件上传工具包
0
angular-file-uploadAngularJS 文件上传工具
angular-file-upload是一款轻量级的AngularJS文件上传工具,为不支持浏览器的FileAPIpolyfill设计,使用HTML5直接进行文件上传。在线演示特性支持上传进度,在上传
angular-file-uploadAngularJS 文件上传工具
0