2

基本的に、 Jcloudsを使用して JavaScript やその他のコンテンツを 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 でアップロードしていたときは、手動で何も設定しなくても機能しました。

4

1 に答える 1

4

最後に、ソースコードを掘り下げることでそれを理解することができました-これは機能します:

FilePayload payload = new FilePayload(uploadableFile.localPath.toFile());
payload.getContentMetadata().setContentType(uploadableFile.contentType);
obj.setPayload(payload);

他の誰かが将来これを探している場合に備えて、Q&A を投稿してください。

于 2013-12-03T15:00:47.743 に答える