在golang中传输一个大文件

2024-02-06

客户端发送文件,大小可能大于5G,发送到从服务器,然后从服务器发送到主服务器。

从属设备会将临时文件保存到自身吗?我不希望发生这种情况,因为它会减慢上传速度并浪费从站的内存。

有什么办法可以避免这种情况吗?在 golang 中传输大文件的最佳方式是什么?


是的,有一个标准方法可以避免存储转发方法:一旦客户端连接从服务器,后者就应该打开与主服务器的连接,然后就可以了stream来自客户端的数据。通常这是使用io.Copy()功能。由于 Go 使用接口的出色鸭子类型,这适用于 TCP 连接和 HTTP 请求/响应。

(为了获得更好的解释,您必须缩小问题范围。)

部分解决方案甚至出现在 stackoverflow 提出的类似问题中——这里是 https://stackoverflow.com/a/16311368/720999.

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

在golang中传输一个大文件 的相关文章

随机推荐

  • 无法安装 Subversive SVN Team Provider

    当我尝试从 Eclipse Marketplace 或其项目站点 安装 Subversive SVN Team Provider 时 出现以下错误 The following solutions are not available Subv
  • WordPress 按标签查询相关帖子

    我正在尝试查询与 WordPress 中当前查看的帖子具有相同标签的帖子列表 我认为如果我可以查询当前帖子的标签列表 将其传递到一个变量中 然后将该变量传递到 query posts 参数中 它就可以完成工作 它似乎适用于帖子中的标签之一
  • CSS 填充简写声明中的反斜杠

    Qq com 网站有一个规则集 其中有两个填充声明 这看起来有点奇怪 我的问题是 11px 0部分做什么 这与覆盖第一个填充声明有关吗 我理解斜线在以下情况下的使用 css 样式声明中的 正斜杠 https stackoverflow co
  • 在 pandas to_csv 方法中保留列顺序

    pandas 的 to csv 方法不保留列的顺序 它选择按字母顺序排列 CSV 中的列 这是一个错误 已被报告并应该在版本 0 11 0 中得到纠正 我有0 18 0 import pandas as pd df pd DataFrame
  • 屏幕更新效果

    我一直在测量代码执行时间 以衡量本地执行脚本和在服务器上执行脚本之间的差异 有一次我忘记禁用screen updating庆幸的是 在更详细地考虑之前 我对闪光灯不敏感 当我第一次开始使用时VBA我一直认为它只是被使用 这样就不会吓到最终用
  • bash:jstat:找不到命令

    我想使用 gc 实用程序来分析我的 Cassandra 数据库的垃圾收集 但是当我运行 jstat 命令时 输出显示 bash jstat command not found 我搜索并发现 jstat 位于 JAVA HOME bin 但我
  • 为什么我无法向 Hotmail 发送电子邮件?

    这是我的代码 boundary sha1 whatever headers MIME Version 1 0 r n headers From Domainname email protected cdn cgi l email prote
  • 如何在通过回调添加和删除节点时固定 Dash Cytoscape 中节点的位置?

    我想使用以下示例数据源制作一个带有交互式网络图的 Web 应用程序 data Source Node a a b b c Destination Node b c c d d Link likes likes likes likes dis
  • 谷歌地图API获取国家和城市

    我可以使用 ajax 自动完成功能来从 google 地图 api 获取国家 地区吗 当有人输入 United 在 google 地图 api 上搜索该国家 地区并显示类似的结果时 你能给我举个例子 或者链接到谷歌地图API的解决方案吗 看
  • Android - Retrofit2 - java.security.cert.CertPathValidatorException:未找到证书路径的信任锚

    我想从服务器获取数据 https data egov kz api v2 zheke zhane zandy tulgalardy k1 v6 pretty https data egov kz api v2 zheke zhane zan
  • 如何在谷歌可视化图表上加载JSON数据?

    我是谷歌可视化的新手 我正在开发一个完整的仪表板 例如谷歌完整仪表板示例 https code google com apis ajax playground type visualization full dashboard 按照示例 我
  • 回车换行 Windows 和 Linux java 应用程序

    我正在开发一个集成测试应用程序 这就是我在测试用例中所做的事情 我读取了一个测试输入文件 该文件存储在 cvs 中 将其写入文件系统中的文件 应用程序轮询该文件的目录 处理它并创建输出文件 然后我轮询输出文件的目录 如果两个文件内容相等 则
  • 非 WSDL 模式下的 SOAP 问题

    我正在制作一个简单的网络服务 用于我拥有的两个网站之间的通信 由于它只是一个基本应用程序 我一直在没有 WSDL 文件的情况下工作 所以在non WSDL mode正如 PHP 手册所称 这基本上就是客户端的样子 client new So
  • ASP Response.Flush() 刷新部分数据

    我正在开发一个带有 ASP 服务器端的 Web 应用程序 并使用 iframe 进行数据推送 ASP 处理程序每 隔一段时间就会将一些 javascript 刷新到 iframe context Response Write context
  • 字符串是如何排序的?

    有人可以解释一下以下函数的输出 public static void main String args String str1 new String 20 String str2 new String 100 List
  • 派生重载运算符,但仅对相同类型进行操作

    假设我有一个基类和两个从它派生的类 class Base protected double value public virtual Base Base double value value value Base const Base B
  • 无法设置未定义的属性“clientMutationId”

    我收到以下错误 当尝试通过 graphiql 运行突变时 请帮助我解决此问题或指向一个链接 我可以在其中找到反应中继突变示例 mutation createUser input username Hamza Khan clientMutat
  • pylint 为可调用的对象属性提供不可调用错误

    不确定我是否做错了什么或者这是否是一个问题pylint 在下面的代码中我得到一个 linting 错误self type不可调用E1102 虽然我可以忽略它并继续工作 但似乎这种事情应该很容易解决 只是不知道如何解决它 from typin
  • 使用正则表达式进行全字匹配

    我想要一个匹配 bananas 或 睡衣 但不匹配 bananas2 或 bananaspajamas 或 banana 或基本上除了这两个单词之外的任何内容的C 正则表达式 所以我这样做了 include
  • 在golang中传输一个大文件

    客户端发送文件 大小可能大于5G 发送到从服务器 然后从服务器发送到主服务器 从属设备会将临时文件保存到自身吗 我不希望发生这种情况 因为它会减慢上传速度并浪费从站的内存 有什么办法可以避免这种情况吗 在 golang 中传输大文件的最佳方