Как отправить данные PDF-файла в ответ с помощью сервлета?
Мое требование - отправлять данные PDF на мобильный клиент (iPhone) с помощью HTTP-сервлета.
Я сделал следующим образом, но я не получаю ожидаемый результат в клиенте.
PrintWriter out = response.getWriter();
String aInputFileName = "/Users/hcl/Desktop/Easwar/sample.pdf";
log("Reading in binary file named : " + aInputFileName);
File file = new File(aInputFileName);
log("File size: " + file.length());
byte[] result = new byte[(int)file.length()];
System.out.println("Length : "+ result.length);
try {
InputStream input = null;
try {
int totalBytesRead = 0;
input = new BufferedInputStream(new FileInputStream(file));
while(totalBytesRead < result.length){
int bytesRemaining = result.length - totalBytesRead;
//input.read() returns -1, 0, or more :
int bytesRead = input.read(result, totalBytesRead, bytesRemaining);
if (bytesRead > 0){
totalBytesRead = totalBytesRead + bytesRead;
}
}
response.setHeader("Content-Type", "application/pdf");
out.println(result);
Правильный ли метод, которым я следую? Пожалуйста посоветуй.
Благодарю.