2011-03-17 12 views
0

私は、HttpClientとFileUploadを使用するアップロードスニペットを見てきました。しかし、私はHttpClientを+のFileUploadダウンロードのデモ:(あなたはリンク、あるいはいくつかのデモプロジェクトを共有してくださいを知っている場合は任意のスニペットを見つけることができませんでしたHttpClient + FileUploadサーブレットからアプリケーションにファイルをダウンロードする方法は?

感謝有益なコメント:)ウェブ以内

アンドリュー

答えて

1

コンテキストでは、ServletOutputStreamを使用できます。ここでリソースパス情報は、HTTP上の余分なパス情報として渡されます。

final ServletOutputStream out = res.getOutputStream(); 
res.setContentType("application/octet-stream"); 
String file = req.getPathInfo(); 
if (file == null) { 
    out.println("Extra path info was null; should be a resource to view"); 
    return; 
} 

// Convert the resource to a URL 
URL url = getServletContext().getResource(file); 
if (url == null) { 
    out.println("Resource " + file + " not found"); 
    return; 
} 

//Serve the file 
InputStream in = url.openStream(); 
byte[] buf = new byte[4 * 1024]; // 4K buffer 
int bytesRead; 
while ((bytesRead = in.read(buf)) != -1) { 
    out.write(buf, 0, bytesRead); 
} 
+0

ファイルの長さは無制限に出力されますか?そして、そのスニペットに応じて、クライアントのスニペットはどのようにすべきか? – user592704

+0

とにかく、ありがとう。それは私にコーディングスタイルのビジョンを与えた:) – user592704

関連する問題