Как рассчитать размер файла BufferedImage Java

Хотя это не ответ на ваш вопрос, он решает проблему, которую вы пытаетесь решить. YMMV.

Как вы писали, тип mime не является надежным, так как каждый браузер имеет свой способ его определения. Однако браузеры отправляют исходное имя (включая расширение) файла. Поэтому лучший способ справиться с этой проблемой - проверить расширение файла вместо MIME-типа.

Если вам все еще нужен тип mime, вы можете использовать mime.types вашего apache для определения его на стороне сервера.

13
задан GregA100k 10 March 2009 в 20:53
поделиться

3 ответа

Нет, необходимо записать файл в памяти или во временный файл.

причина состоит в том, что невозможно предсказать, как кодировка JPEG будет влиять на размер файла.

кроме того, это не достаточно хорошо для "предположения" размер файла; Content-Length заголовок должен быть пятном - на.

13
ответ дан Jason Cohen 11 March 2009 в 06:53
поделиться
  • 1
    Sry, но это все еще doesn' t имеют смысл мне. Isn' t это избыточный для определения упорядочивания через memory_order параметр и сильные или слабые методы? Возможно, это помогло бы знать what' s основное (абстрактное) различие между слабым и сильным compare_exchange. – 0xbadf00d 9 February 2011 в 16:42

Если это не очень небольшой файл изображения, предпочтите использовать разделенное на блоки кодирование по определению длины содержания.

было отмечено в одном или двух недавних stackoverflow подкастах, что Прокси HTTP часто сообщают, что только поддерживают HTTP/1.0, который может быть проблемой.

2
ответ дан Tom Hawtin - tackline 11 March 2009 в 06:53
поделиться

Ну, BufferedImage не знает, что пишется как JPEG - что касается его, это мог быть PNG или GIF или TGA или TIFF или BMP..., и у всех тех есть различные размеры файла. Таким образом, я не полагаю, что существует любой путь к BufferedImage, чтобы дать Вам размер файла непосредственно. Необходимо будет просто выписать его и считать байты.

5
ответ дан David Z 11 March 2009 в 06:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: