java - 如何为 Rackspace 云文件上的对象设置内容类型?

标签 java rackspace-cloud

我正在使用 Rackspace 的 Cloud Files 产品,我已经成功地将文件放入我的容器中,但是,在测试过程中我发现文件没有设置 Content-Type。

我到处寻找有关如何使用 Java SDK 设置内容类型的示例,但没有成功。

我尝试过的:

Map<String, String> metaData = new HashMap<String, String>();
metaData.put("mime-type", content_type);
// or metaData.put("Content-Type", content_type);

Blob blob = storage.blobBuilder(file.getName())
    .payload(file).userMetadata(metaData).build();

storage.putBlob(container, blob);

如有任何帮助,我们将不胜感激。

最佳答案

CloudFiles 实际上会为您设置内容类型,因此您无需在代码中猜测内容类型。诀窍是确保 jclouds 不发送任何内容类型。

Blob blob = storage.blobBuilder(filename)
    .payload(file)
    .contentType("") // allows Cloud Files to determine the content type
    .build();

关于java - 如何为 Rackspace 云文件上的对象设置内容类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638673/

相关文章:

python - Django 上传图像 - 从表单到 Rackspace/S3,无需任何操作

python - 将curl PUT 转置为requests.put

java - 创建 bean 时出现 Spring ClassNotFoundException

java - 如何获得 Canvas 的确切位置(Java)

linux - Collectd 服务器没有记下收到的客户端数据

laravel - 如何从 Laravel 8.x 将文档上传到 Rackspace

java - 参差不齐和参差不齐的阵列

java - FirebaseRecyclerAdapter 不适合我

java - 使用 arraylist 删除数组中的重复项失败

perl - Rackspace Cloud API 的 Perl 绑定(bind)和设置/获取对象元数据的问题