文件上传的 4(种解决方法 上传速度慢怎么办啊)( 二 )


伪代码如下:
publicFileUploadResponse concurrentUpload(finalString fileName, finalString fileBase64){ // 首先进行分段intlimitSize = fileBase64.length() / 10; finalList segments = StringUtil.splitByLength(fileBase64, limitSize); // 并发上传intsize = segments.size(); finalConcurrentHashMap map= newConcurrentHashMap(); finalCountDownLatch lock = newCountDownLatch(size); for(inti = 0; i < segments.size(); i++) { finalintindex = i; Thread t = newThread() { publicvoidrun() { // 并发上传// countDownlock.countDown(); } }; t.start(); } // 等待完成lock.await(); // 针对上传后的信息处理}
直连当然,还有一种策略就是客户端直接访问服务端,跳过后端服务 。

文件上传的 4(种解决方法 上传速度慢怎么办啊)

文章插图
文件上传的 4(种解决方法 上传速度慢怎么办啊)

文章插图
文件直连
当然,这个前提要求文件服务必须提供 HTTP 文件上传接口 。
还需要考虑安全问题,最好是前端调用后端,获取授权 token,然后携带 token 进行文件上传 。
小结文件上传是非常常见的业务需求,上传的性能问题是肯定要考虑和优化的一个问题 。
上面的几种方法可以灵活的组合使用,结合自己的业务进行更好的实践 。

推荐阅读