谷歌云存储:设置不正确的MIME类型 [英] Google Cloud Storage: Setting incorrect MIME-type
问题描述
我有一个Node.js服务器在Google Compute Engine虚拟实例上运行。服务器将传入的文件流式传输到Google Cloud Storage GCS。我的代码如下:Node.js stream upload directly to Google Cloud Storage
我将Content-Type
传入XML头,它对于image/jpeg
MIME类型运行良好,但对于video/mp4
GCS将文件写入为application/octet-stream
。
这没什么大不了的,所以我完全不知道可能出了什么问题……欢迎任何想法!
更新/解决方案
问题是由于multiparty
模块在我传递到GCS的管道中的‘Part’对象上创建了content-type: octet-stream
标头。这导致GCS收到两个content-types
,其中octet
部分是最后一个。因此,GCS将其用于入站文件。
HTTPS
好的,查看您的推荐答案请求和响应,似乎在作为初始Http请求的一部分返回的URL中指定了Content-Type。初始的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,"示例:可恢复的会话发起请求",并查看如果您按照那里的建议指定相同的标头,您是否仍会遇到相同的问题。
这篇关于谷歌云存储:设置不正确的MIME类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!