如何在android中快速上传大视频文件到服务器

2024-01-30

您好,我正在使用 Volley Multi-part Api 将大型视频文件上传到服务器,但上传到服务器需要很长时间

分割我的视频文件并发送到服务器是否更好?如果更好,请向我提供代码,我该怎么做,如果不是,将大视频文件快速上传到服务器的最佳方法是什么?


要将文件拆分为多个部分(块):

public static List<File> splitFile(File f) throws IOException {
    int partCounter = 1;
    List<File> result = new ArrayList<>();
    int sizeOfFiles = 1024 * 1024;// 1MB
    byte[] buffer = new byte[sizeOfFiles]; // create a buffer of bytes sized as the one chunk size

    BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f));
    String name = f.getName();

    int tmp = 0;
    while ((tmp = bis.read(buffer)) > 0) {
        File newFile = new File(f.getParent(), name + "." + String.format("%03d", partCounter++)); // naming files as <inputFileName>.001, <inputFileName>.002, ...
        FileOutputStream out = new FileOutputStream(newFile);
        out.write(buffer, 0, tmp);//tmp is chunk size. Need it for the last chunk, which could be less then 1 mb.
        result.add(newFile);
    }
    return result;
}

此方法会将您的文件分割为 1MB 大小的块(不包括最后一个块)。之后,您可以将所有这些块发送到服务器。

另外,如果您需要合并这些文件:

public static void mergeFiles(List<File> files, File into)
        throws IOException {
   BufferedOutputStream mergingStream = new BufferedOutputStream(new FileOutputStream(into))
    for (File f : files) {
        InputStream is = new FileInputStream(f);
        Files.copy(is, mergingStream);
        is.close();
    }
    mergingStream.close();
}

以防万一您的服务器也是 Java 语言

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在android中快速上传大视频文件到服务器 的相关文章

随机推荐

  • 如何使用变量名访问对象的属性?

    这有效 psISE Options DebugBackgroundColor FFC86400 这不会 attribute DebugBackgroundColor psISE Options attribute FFC86400 错误 无
  • 如何使用 CSS 使两列居中?

    我试图在我的网站上居中放置两列 但存在一些问题 每次更改的结果都是左侧位置 参见picture http i46 tinypic com 5tov7 jpg 我究竟做错了什么 这是我的 CSS body background image u
  • JavaScript 中不区分大小写的正则表达式

    我想使用 JavaScript 从 URL 中提取查询字符串 并且想对查询字符串名称进行不区分大小写的比较 这是我正在做的事情 var results new RegExp name exec window location href if
  • 如何使用 Jackson 将一个 ObjectNode 作为子节点添加到另一个 ObjectNode 中?

    我有下面的 ObjectNode handlerObjectNode gt Info Brand BrandName TOP OF THE WORLD 我有另一个以下格式的 ObjectNode fieldObjects gt Descri
  • 按下按钮时如何隐藏/显示元素?

    我正在尝试学习如何使用 Eclipse IDE 开发 Android 我现在想做的是在按下按钮时使隐藏的 TableLayout 可见 但是 我不知道需要在按钮的 OnClick 属性中放入什么内容 另外 是否有任何在线教程可以帮助我学习如
  • 重新绘制自定义标签

    React Recharts 的自定义标签不适用于条形图 http jsfiddle net xpko4e7e http jsfiddle net xpko4e7e
  • 按键合并地图

    假设我有两张地图 val a Map 1 gt one 2 gt two 3 gt three val b Map 1 gt un 2 gt deux 3 gt trois 我想按键合并这些映射 应用一些函数来收集值 在这种特殊情况下 我想
  • 在休眠中加载百万行

    如果我想在休眠中获取百万行 它会如何工作 休眠会崩溃吗 我该如何优化它 通常您不会为此使用 hibernate 如果需要执行批量操作 请使用 sql 或 hibernate 包装器进行批量操作 加载数百万条记录不可能为您的应用程序带来良好的
  • __len__ 无法返回大数字

    下面的代码 class Container def len self return 10 100 c Container print len c returns OverflowError 无法将 int 放入索引大小的整数中 我读过这个问
  • DynamoDB 在本地计算机中创建表

    我已将 DynamoDB jar 下载到本地 Windows 计算机 并能够使用下面的命令启动服务 java jar DynamoDBLocal jar dbPath 我可以使用 localhost 8000 shell 访问 Web 控制
  • 如何以矢量化方式查找特定轴上二维数组的唯一向量?

    我有一个形状数组 n t 我想将其视为一个时间序列n vectors 我想知道独特的n vector沿线存在的价值观t dimension以及相关的t indices对于每个独特的向量 我很乐意使用任何合理的平等定义 例如numpy uni
  • 如何获取单独数据集中 cte 的行计数?

    我已经找到了一种使用 CTE 和 Row Number 函数从数据库获取快速分页结果的方法 如下所示 DECLARE PageSize INT 1 DECLARE PageNumber INT 2 DECLARE Customer TABL
  • 压缩和utf8编码

    有人可以告诉我为什么我在此过程中丢失信息吗 一些 utf 8 字符似乎未解码 Biography u003clink type or Steve Blunt u0026 Marty Kelley但其他人却这样做 Name 朱敬 Creati
  • 是否可以从管道中的 sh DSL 命令捕获标准输出

    例如 var output sh echo foo echo output output 我会得到 output 0 所以 显然我得到的是退出代码而不是标准输出 是否可以将标准输出捕获到管道变量中 以便我可以获得 output foo作为我
  • 处理多个项目时.NET Core 2.0 appsettings.json 文件位置

    我正在开发一个由多个项目组成的 NET Core 2 1 103 WebAPI 应用程序 每个项目都需要有自己的 appsettings json 文件 每个项目都位于主 解决方案 文件夹内自己的子目录中 这是目录结构的简化版本 其中包含我
  • 致命错误:在 AppKernel.php 中找不到类

    我已经按照 Symfony 文档生成了一个新的 Bundle ImgBundle 但是当在浏览器中重新加载应用程序时 它无法识别该包的主类 这是我的 ImgBundle php
  • ReSharper Unit Test Runner 忽略部署项配置

    我正在使用 Resharper 6 1 对新项目进行单元测试 它似乎忽略了 local testsettings 文件的 Deployment 部分 我尝试在 ReSharper gt 选项 gt 单元测试 gt MSTest gt 使用此
  • Java泛型和枚举,模板参数丢失

    我有一个相当复杂的结构 但它没有按预期工作 这就是我所做的 public interface ResultServiceHolder
  • 使用 Jackson 解析 Json 文件

    TestSuite TestSuiteInfo description parse TestCase TestCaseData sequence sequential testNumber 2 testCaseFile testcase W
  • 如何在android中快速上传大视频文件到服务器

    您好 我正在使用 Volley Multi part Api 将大型视频文件上传到服务器 但上传到服务器需要很长时间 分割我的视频文件并发送到服务器是否更好 如果更好 请向我提供代码 我该怎么做 如果不是 将大视频文件快速上传到服务器的最佳