基本上我有这段代码,它使用Jclouds将 javascripts 和其他内容上传到 Rackspace :
SwiftObject obj = cloudFilesClient.newSwiftObject();
obj.getInfo().setName(name);
obj.getInfo().setContentType(contentType);
obj.setPayload(payloadFile);
cloudFilesClient.putObject(container, obj);
我注意到 Chrome 抱怨脚本被转移,text/plain
因此开始调查。curl -I
改为报告:Content-Type: application/unknown
.
我用谷歌搜索了很多并试图找到一些线索,我试过了:
- 根本没有设置内容类型
- 设置空字符串(在某处发现了一些谣言)
- 设置为
application/javascript
(正确) - 设置为
text/javascript
(错误,但常见) obj.getAllHeaders().put("Content-Type", contentType);
当我们以前使用基本的 HTTP 上传时,这完全不需要手动设置任何东西。