因此,我對Javax Servlet比較陌生,我應該在工作中修改一些代碼。按照公司的要求,我無法發佈我的代碼所以基本上我有一臺服務器安裝在雲服務上,我在該服務器上部署了我的應用程序,當我運行我的應用程序時,用戶可以輸入:8080/appname/resources/filename在代碼中,文件名將會帶我到位於CDN網絡上的文件的正確URL,如何通過servlet將它播放回用戶?因爲它不直接駐留在我的服務器上,而是直接指向別的地方。寫一個簡單的例子來解釋我的意思從網址獲取文件並將其發送給用戶的Servlet
procesRequest(HttpServletRequest request, HttpServletResponse reponse){
String requestFile = request.getPathInfo();
File file = new File(basePath,URLDecoder.decode(requestedFile, "UTF-8"));
RandomAccessFile input = new RandomAccessFile(file, "r");
OutputStream output = response.getOutputStream();
playBack(input, output);
}
playBack(RandomAccessFile input, OutputStream output){
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int read;
while ((read = input.read(buffer))>0)
{
output.write(buffer, 0, read);
}
}
所以在上面的例子中,文件將駐留在服務器本身上。 basePath指的是存儲所有文件的服務器上的文件夾。所以它只能播放文件。但是,我想修改它,以便不從服務器獲取文件,而是從URL獲取文件並播放它。現在我只有URL硬編碼用於測試目的。
請寫一個簡單的例子的情況下,您不能發表的原代碼... – home