Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.06.2009, 18:50
VovkaMorkovka1 вне форума Посмотреть профиль Отправить личное сообщение для VovkaMorkovka1 Посетить домашнюю страницу VovkaMorkovka1 Найти все сообщения от VovkaMorkovka1
  № 1  
Ответить с цитированием
VovkaMorkovka1

Регистрация: Nov 2008
Сообщений: 205
По умолчанию Проблема сохранения pdf под ubuntu

Привет всем. Есть клиентский код, который передаёт pdf - файл на сервер и сервлет принимающий этот код и перенаправляющий его в броузер.

Код:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class CreatePDFServlet extends HttpServlet {

public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
  doGet(req, resp);
}

public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
 int i = 0;
 int k = 0;
 int maxLength = req.getContentLength();
 byte[] bytes = new byte[maxLength];
 String method = req.getParameter("method");
 String name = req.getParameter("name");
 ServletInputStream si = req.getInputStream();
 while (true)
 {
  k = si.read(bytes,i,maxLength);
  i += k;
  if (k <= 0)
  break;
 }
 if (bytes != null)
 {
  ServletOutputStream stream = resp.getOutputStream();
  resp.setContentType("application/pdf");
  resp.setContentLength(bytes.length);
  resp.setHeader("Content-Disposition",method + ";filename=" + name);
  stream.write(bytes);
  stream.flush();
  stream.close();
 }
 else
 {
  resp.setContentType("text");
  resp.getWriter().write("bytes is null");
 }
}
}
Код AS3:
pdf.save(Method.REMOTE,pdfSave.text);

Код AS3:
public function save ( method:String, url:String='', downloadMethod:String='inline', fileName:String='output.pdf', frame:String="_blank" ):*
		{
			dispatcher.dispatchEvent( new ProcessingEvent ( ProcessingEvent.STARTED ) );
			var started:Number = getTimer();
			finish();
			dispatcher.dispatchEvent ( new ProcessingEvent ( ProcessingEvent.COMPLETE, getTimer() - started ) );
			buffer.position = 0;
			var output:* = null;
 
			switch (method)
			{
				case Method.LOCAL : 
					output = buffer;
					break;	
 
				case Method.BASE_64 : 
					output = Base64.encode64 ( buffer );
					break;
 
				case Method.REMOTE :
					var header:URLRequestHeader = new URLRequestHeader ("Content-type","application/octet-stream");
					var myRequest:URLRequest = new URLRequest (url+'?name='+fileName+'&method='+downloadMethod );
					myRequest.requestHeaders.push (header);
					myRequest.method = URLRequestMethod.POST;
					myRequest.data = buffer;
					navigateToURL ( myRequest, frame );
					break;
 
				default:
					throw new Error("Unknown Method \"" + method + "\"");
			}
			return output;
		}
Так вот, под виндой вё прекрасно сохраняется и показывается в броузере, а вот под убунтой отображалка PDF пишет, что

Код:
File type unknown (application/octet-stream) is not supported
Другие отображалки файл сохранённый из под линуха так - же не хавают. В чём может быть причина, хелп плиз?

Добавлено через 1 час 42 минуты
В процессе загрузки понял, что проблема именно в передаче с клиента т.к. если передавать не то, что с клиента пришло, а какой - нибудь pdf, то он показывается. Однако почему так происходит по прежнему хз

Добавлено через 24 часа 38 минут
Похоже, что игнорируются настройки mime - type, однако почему так присходит - хз.
Может кто - нибудь знает?


Последний раз редактировалось VovkaMorkovka1; 11.06.2009 в 20:32.
Создать новую тему Ответ Часовой пояс GMT +4, время: 10:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:03.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.