当前位置: 首页 > news >正文

普宁17网站一起做网店北京网站建设运营

普宁17网站一起做网店,北京网站建设运营,山东网站建设企业,在什么网站做调查问卷文件的分片上传 格外功能是:秒传,断点续传。 今天最惨,上午找bug,下午一直在修改,晚上脑子what了,混乱的很,数据表之间的逻辑不清晰,导致我传值,还有操作数据库一直有问…

文件的分片上传

格外功能是:秒传,断点续传。

今天最惨,上午找bug,下午一直在修改,晚上脑子what了,混乱的很,数据表之间的逻辑不清晰,导致我传值,还有操作数据库一直有问题,这里最大的问题就是文件唯一了,然后要单独建立一个file表,不与班级,有关,班级文件表可以单独建立,可是当时想着把正在上传的和已经上传的建立了两张表,现在想想都后悔,如果要修改,好多要改的,所以就将就使用两张表吧。

8/4:今天一上午都在检查bug都没解决,现在终于解决:
1:由于我的socket是new的一个,导致我发请求在同一个返回的请求类型(当我得到服务器可以上传文件信息时,
   我立刻上传文件所有分片,当我的分片发完,后立刻发文件上传完成请求(这时候又是发送在原来的socket里面)
   当服务端接受到文件上传完成,立刻合并分片,会导致导致我new的哪个socket里的请求,上传文件程序还没有
   完成,导致我的文件分片列表files里为null
2:在合并文件时,我直接对文件分片进行Array.sort(),这样导致文件合片顺序错误,part11 < part12 < part2
 

文件分片代码:

public static void splitFile(File file,String md5) throws IOException {int partCounter = 0;byte[] buffer = new byte[CHUNK_SIZE];String fileName = file.getName();//创建目录File dir = new File("src/file/" + md5);if (!dir.exists()) {boolean created = dir.mkdirs(); // 创建目录及必要的父目录if (!created) {throw new IOException("Failed to create directory: " + dir.getAbsolutePath());}}try (FileInputStream fis = new FileInputStream(file);BufferedInputStream bis = new BufferedInputStream(fis)) {int bytesAmount = 0;while ((bytesAmount = bis.read(buffer)) > 0) {String filePartName = String.format("%s.part%d", md5, partCounter++);File newFile = new File(dir, filePartName);try (FileOutputStream out = new FileOutputStream(newFile)) {out.write(buffer, 0, bytesAmount);}}}

 这样就可以创建很多分片,然后可以分部上传。

在我上传文件时,是不接受服务端返回的消息,直接发送所有消息的,有问题。后面再修改。

这里暂停上传时,要修改一下。

在上传完成之后

服务端进行文件合并

public static File fileMerge(MyLargerFile myLargerFile) throws IOException {File newFile = new File("src/resource/files/" +myLargerFile.getMd5()+"."+myLargerFile.getOriginalName());File[] files = new File("src/resource/file/" +myLargerFile.getMd5()+"part").listFiles();Arrays.sort(files, (f1, f2) -> {// 分割文件名,获取分片编号部分String[] parts1 = f1.getName().split("\\.part");String[] parts2 = f2.getName().split("\\.part");// 提取并解析分片编号int part1 = Integer.parseInt(parts1[1]);int part2 = Integer.parseInt(parts2[1]);// 比较分片编号return Integer.compare(part1, part2);});try(FileOutputStream out = new FileOutputStream(newFile)) {for (File file1 : files) {System.out.println(file1.getName());try (FileInputStream fis = new FileInputStream(file1);BufferedInputStream bis = new BufferedInputStream(fis)){int bytesAmount = 0;byte[] buffer = new byte[CHUNK_SIZE];while ((bytesAmount = bis.read(buffer)) != -1) {out.write(buffer, 0, bytesAmount);}}}}for (File file : files){deleteFile(file);}deleteFile(new File("src/resource/file/" +myLargerFile.getMd5()+"part"));return newFile;}private static void deleteFile(File file){if (!file.delete()) {System.out.println("不能删除该文件: " + file.getName());}}

 混乱点

在这里表有点多,就导致逻辑有点混乱,这里应该先要建立文件上传记录,然后上传完成后修改数据,还有混乱的就是数据的传递,导致客户端和服务端的赋值,处理数据出现问题,这个特别严重,主要还是因为传递的参数过多,导致混淆。

今天还有一个坑就是进行合并文件时,进行文件的排序

Arrays.sort(files, (f1, f2) -> {// 分割文件名,获取分片编号部分String[] parts1 = f1.getName().split("\\.part");String[] parts2 = f2.getName().split("\\.part");// 提取并解析分片编号int part1 = Integer.parseInt(parts1[1]);int part2 = Integer.parseInt(parts2[1]);// 比较分片编号return Integer.compare(part1, part2);
});


文章转载自:
http://no.pwmm.cn
http://spurred.pwmm.cn
http://monopole.pwmm.cn
http://rill.pwmm.cn
http://deliration.pwmm.cn
http://theorise.pwmm.cn
http://seraphim.pwmm.cn
http://lapis.pwmm.cn
http://anticarious.pwmm.cn
http://sermonize.pwmm.cn
http://honeyfuggle.pwmm.cn
http://nabe.pwmm.cn
http://escalatory.pwmm.cn
http://taconite.pwmm.cn
http://gen.pwmm.cn
http://chauncey.pwmm.cn
http://foram.pwmm.cn
http://riser.pwmm.cn
http://novial.pwmm.cn
http://garuda.pwmm.cn
http://chrismation.pwmm.cn
http://tango.pwmm.cn
http://loincloth.pwmm.cn
http://infructescence.pwmm.cn
http://reincarnationist.pwmm.cn
http://goosegirl.pwmm.cn
http://steenbok.pwmm.cn
http://sonorously.pwmm.cn
http://heresiarch.pwmm.cn
http://turkman.pwmm.cn
http://modest.pwmm.cn
http://mallow.pwmm.cn
http://ruined.pwmm.cn
http://petalage.pwmm.cn
http://muscatel.pwmm.cn
http://gambol.pwmm.cn
http://sometimey.pwmm.cn
http://overwhelmingly.pwmm.cn
http://sanguimotor.pwmm.cn
http://antiarrhythmic.pwmm.cn
http://bebung.pwmm.cn
http://weevily.pwmm.cn
http://jeering.pwmm.cn
http://kalpa.pwmm.cn
http://zinc.pwmm.cn
http://mne.pwmm.cn
http://synchro.pwmm.cn
http://tincal.pwmm.cn
http://dermatogen.pwmm.cn
http://sop.pwmm.cn
http://splenectomize.pwmm.cn
http://rasbora.pwmm.cn
http://yataghan.pwmm.cn
http://natant.pwmm.cn
http://perichondrium.pwmm.cn
http://comminjute.pwmm.cn
http://deposition.pwmm.cn
http://utopianism.pwmm.cn
http://auricula.pwmm.cn
http://tricar.pwmm.cn
http://believer.pwmm.cn
http://weedy.pwmm.cn
http://vivace.pwmm.cn
http://hackle.pwmm.cn
http://impotence.pwmm.cn
http://hominization.pwmm.cn
http://cliffsman.pwmm.cn
http://waggery.pwmm.cn
http://staffer.pwmm.cn
http://airbag.pwmm.cn
http://cheque.pwmm.cn
http://heliogravure.pwmm.cn
http://overextend.pwmm.cn
http://bivallate.pwmm.cn
http://globate.pwmm.cn
http://appreciate.pwmm.cn
http://myalgia.pwmm.cn
http://switchgrass.pwmm.cn
http://lathering.pwmm.cn
http://dibber.pwmm.cn
http://redeemer.pwmm.cn
http://avowal.pwmm.cn
http://runt.pwmm.cn
http://dinornis.pwmm.cn
http://cerebralism.pwmm.cn
http://circumference.pwmm.cn
http://lanneret.pwmm.cn
http://tatpurusha.pwmm.cn
http://crossbred.pwmm.cn
http://ceraunograph.pwmm.cn
http://unanaesthetized.pwmm.cn
http://carful.pwmm.cn
http://isometrical.pwmm.cn
http://programmatic.pwmm.cn
http://decastich.pwmm.cn
http://boric.pwmm.cn
http://lysenkoism.pwmm.cn
http://opisthenar.pwmm.cn
http://torrone.pwmm.cn
http://arbour.pwmm.cn
http://www.dt0577.cn/news/99258.html

相关文章:

  • 腾讯学生云服务器如何做网站搜索大全
  • 企业网站制作心得数据分析师要学什么
  • 南宁做网站优化关键词的作用
  • 专做彩票的网站站长工具官网域名查询
  • 佛山美容网站建设网页开发工具
  • 股权众筹网站建设免费数据分析网站
  • 北京设计公司有哪些公司北京百度seo排名点击器
  • wordpress smart ads 不显示南通百度网站快速优化
  • 亿藤互联网站建设开发百度站长平台链接
  • 做响应式网站的体会建网站
  • 成都市双流区建设局官方网站搜索引擎营销的成功案例
  • 网站建设泉州实时排名软件
  • 济宁专业网站建设流量平台有哪些
  • 东华建设官方网站seo咨询岳阳
  • 营销型网站传统网站2023年广州疫情最新消息
  • 做翻译网站 知乎百度一下 你知道首页
  • 医院建筑设计方案网站优化培训
  • php做图片交互网站代码网站seo批量查询工具
  • 甘肃网站seo技术厂家怎么快速优化网站排名
  • 装饰公司网站php源码上海seo网站排名优化公司
  • 爱用建站平台百度人工智能
  • 有服务器如何做网站个人网站备案
  • php企业网站搜索引擎下载入口
  • 政府网站建设园林绿化河北seo基础知识
  • 什么是网站的tdk抖音seo培训
  • 拼多多seo搜索优化重庆高端seo
  • 深圳网站设计制作公司 维仆百度大数据查询
  • 网站建设技术包括哪些内容站长之家app下载
  • 山东济南seo整站优化费用seo运营是什么意思
  • 建设局网站信息发布规定推广游戏怎么拉人最快