【问题标题】:Google Cloud Storage: Setting incorrect MIME-typeGoogle Cloud Storage:设置不正确的 MIME 类型
【发布时间】:2014-01-18 20:53:06
【问题描述】:

我有一个在 Google Compute Engine 虚拟实例上运行的 Node.js 服务器。服务器将传入文件流式传输到 Google Cloud Storage GCS。我的代码在这里:Node.js stream upload directly to Google Cloud Storage

我在 XML 标头中传递了Content-Type,它对image/jpeg MIME 类型工作得很好,但对于video/mp4,GCS 正在将文件写入application/octet-stream

这没什么,所以我完全不知道可能出了什么问题......欢迎任何想法!

更新/解决方案

问题是由于 multiparty 模块在我传递到 GCS 管道的“部分”对象上创建 content-type: octet-stream 标头。这导致 GCS 收到两个content-types,其中octet 部分是最后一个。结果,GCS 将其用于入站文件。

【问题讨论】:

  • 能否请您发布您的 http 请求是什么样的?你确定video/mp4真的在http请求中设置为内容类型吗?
  • @markovuksanovic 谢谢你的帮助;请看上面
  • 你能确认这是分段上传吗?在那种情况下应该发出多个http请求?您是否还可以为此请求(以及其他请求(如果有))提供 http 响应标头和正文?
  • @markovuksanovic 我对大量 HTTP 的知识水平有点低——如何验证它是多部分的?上面包含的其他信息(来自 Google 的响应的 console.log)。
  • 可以使用wireshark来追踪http。确保您不使用 HTTPS 请求,而仅使用 HTTP(仅用于测试目的)。您也可以向我发送/分享捕获文件,以便我查看正在发生的事情。

标签: google-cloud-storage google-compute-engine


【解决方案1】:

Google Cloud Storage 与内容类型无关,即它以相同的方式处理任何类型的内容(视频、音乐、zip 文件、文档,等等)。


但只是提供一些想法,

首先,我相信您上传的视频 () 在上传后大小或多或少。所以,它属于application/<sub type>。 (类似于RFC 4337的第3.3节)

为了纠正这一点,我认为您需要在文件上传前后存储 mp4 元数据。

请告诉我们您的解决方案。

【讨论】:

    【解决方案2】:

    好的,查看您的 HTTP 请求和响应,内容类型似乎是在作为初始 HTTP 请求的一部分返回的 URL 中指定的。初始 HTTP 请求应返回可用于上传文件的端点。我不确定为什么在那里指定,但查看文档(https://developers.google.com/storage/docs/json_api/v1/how-tos/upload - 启动可恢复会话)它说需要指定 X-Upload-Content-Type 以及其他一些标题。这似乎没有在上面提到的 HTTP 请求中指定。使用的库可能存在问题,但返回的端点看起来不像文档中指定的那样。

    查看https://developers.google.com/storage/docs/json_api/v1/how-tos/upload,“示例:可恢复会话启动请求”,如果您指定与那里建议的相同的标头,看看您是否仍然遇到同样的问题。

    【讨论】:

    • 我认为您可能错误地阅读了iana.org 资源;你会注意到你找不到 image/jpg 或 image/jpeg ......但那些工作正常。我相信只要文件类型列在表格中,那么它就是有效的......并且mp4列在视频下。虽然我可能是错的......
    • 好的,你是对的,video/mp4 应该可以正确地用于 GCS。我试过手动上传一个 mp4 视频,它被分配了“video/mp4”mime 类型。在这方面你是对的。您能否提供您正在发送的 http 请求?
    • 您是声明内容类型还是让 Google 决定?
    猜你喜欢
    • 2021-04-24
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    • 2012-07-19
    • 2011-04-18
    • 1970-01-01
    • 2020-06-04
    • 2015-05-19
    相关资源
    最近更新 更多