1

私のアプリには1つの要件があります。ディスクからファイルのコンテンツを取得して外部 URL に送信する必要があり、外部 URL がコンテンツを取得したかどうかを確認したいと考えています。

私のアプリケーションでは、ユーザーは 1 つのドキュメントを選択してビューアーと言うと、選択したファイル変換バージョンが表示されます。そのファイルを変換するには、選択したファイルを .Net アプリケーション URL に送信する必要があります。これにより、ファイルが 3D モデリング ファイルに変換され、ブラウザに応答が表示されます。

最初にファイルを送信するために使用しているコードを次に示します。

try{
  File f = new File("/home/Desktop/rename.txt");
  PostMethod filePost = new PostMethod("external URL");
  Part[] parts = { new FilePart("file", f) };
  filePost.setRequestEntity(new MultipartRequestEntity(parts,
  filePost.getParams()));
  HttpClient client = new HttpClient();
  int status = client.executeMethod(filePost);
  System.out.println(status);
}catch(Exception e){
  e.printStackTrace();
}
4

1 に答える 1

1

私の理解が正しければ、外部 URL のサーバーは、アップロードしているファイルを変換し、変換されたバージョンのファイルを返すはずです。したがって、この変換されたバージョンは、サーバーの応答の本文に含まれます。そのため、単にステータスを確認するだけでは十分ではなく、応答自体を取得する必要があります。

about like soclient.execute()の代わりに使用することで、それを実現できます。client.executeMethod()

HttpResponse response = client.execute(filePost);
InputStream is = response.getEntity().getContent();

これで、入力ストリームから変換されたデータを読み取って、is好きなように処理を進めることができます (例: ディスクへの保存など)。

于 2013-08-23T10:42:31.773 に答える