как читать / загружать только несколько байтов в середине файла на сервере с помощью java socket [duplicate]

Попробуйте поместить document.getElementById в setTimeout()

Например.

setTimeout(function(){
    console.log(document.getElementById('whatever'));
}, 100);

Если это сработает, тогда это просто проблема синхронизации.

6
задан Jeffry Young 14 July 2013 в 23:05
поделиться

4 ответа

Вы должны подключиться к url ​​перед setRequestProperty

Изменить:

urlConnection.setRequestProperty("Range", "Bytes=0-24");
urlConnection.connect();

Кому:

urlConnection.connect();
urlConnection.setRequestProperty("Range", "Bytes=0-24");
-2
ответ дан Cecilia 19 August 2018 в 07:41
поделиться

Попробуйте изменить следующее:

urlConnection.setRequestProperty("Range", "Bytes=0-24");

с:

urlConnection.setRequestProperty("Range", "bytes=0-24");

согласно спецификации 14.35.1 Диапазоны байтов

Аналогично, согласно спецификации 14.5 Accept-Ranges , вы также можете проверить, действительно ли ваш сервер поддерживает частичный поиск контента или не использует следующие:

boolean support = urlConnection.getHeaderField("Accept-Ranges").equals("bytes");
System.out.println("Partial content retrieval support = " + (support ? "Yes" : "No));
8
ответ дан Syed Muhammad Humayun 19 August 2018 в 07:41
поделиться

Если сервер поддерживает его (и серверы HTTP 1.1 должны), только тогда вы можете использовать запросы диапазона ... и если все, что вы хотите сделать, это проверить, то просто отправьте запрос HEAD вместо запроса GET. Те же заголовки, то же самое, просто «ГОЛОВА», а не «ПОЛУЧИТЬ». Если вы получите ответ 206, вы узнаете, что Range поддерживается, и в противном случае вы получите ответ 200.

1
ответ дан user 19 August 2018 в 07:41
поделиться
  • 1
    gstack, я отправил запрос "HEAD" и получил код ответа 200. Это должно означать, что сервер не поддерживает функцию загрузки "Resuming". Затем, я хотел бы знать, как я могу «приостановить»? и "возобновление" этот файл загружается в других менеджерах загрузки. Кроме того, было бы здорово, если бы вы могли предложить любые HTTP-ссылки, часть контента которых может быть загружена с помощью этого метода. – Jeffry Young 14 July 2013 в 23:03
  • 2
    [Д0] marvinlee.wordpress.com/2007/08/08/… – user 14 July 2013 в 23:14

Я думаю, что правильным заголовком является «Content-Range», а не «Range», как вы используете.

-3
ответ дан Zach Saucier 19 August 2018 в 07:41
поделиться
  • 1
    gstack, попробовал это с помощью "Content-Range"; получение same output – Jeffry Young 14 July 2013 в 22:36
  • 2
    Нет, AFAIK. content-range - это то, что отвечает сервер. Измените то, что вы должны запросить. – Alex 22 October 2016 в 12:01
Другие вопросы по тегам:

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