Перенос файлов из браузера на локально подключенный iPhone - программирование
Подтвердить что ты не робот

Перенос файлов из браузера на локально подключенный iPhone

В настоящий момент я создал HTTP-сервер на моем iPhone-приложении и разместил там HTML. Затем доступ к нему в браузере системы, находящейся в одной и той же сети iPhone. Я вижу файл в моем браузере.

Теперь, используя WebSockets, я пытаюсь отправить файл из браузера в приложение, , но он не работает. Это нормально с текстовым сообщением, но не в случае данных. В качестве обходного пути я попробовал его с помощью Base64 String, но в этом случае также сокет Get Closed.

Для загрузки с помощью JAVAScript я написал этот код, здесь я попытался отправить строку Base64 в фрагменты размером 200 символов.

    function sendFile() {
        var preview = document.querySelector('img');
        var file = document.querySelector('input[type=file]').files[0];
        var reader  = new FileReader();
        var rawData =  new ArrayBuffer();


        reader.onloadend = function () {
        var stringContent = reader.result;
        preview.src = stringContent;
        var array =  stringContent.match(/.{1,200}/g);
        for (var i = 0; i < array.length; i++) {
            ws.send(array[i]);
        };

      }
     if (file) {
        reader.readAsDataURL(file);
     }else {
        preview.src = "";
     }
}

На стороне iPhone я использовал WebSocket класс из Libary CocoaHTTPServer

Сокет закрыт на этой строке.

Socket closed at this line.

ИЗМЕНИТЬ

После многих проб и ошибок я узнаю, что это происходит. Если я открываю это в браузере Mac, не в случае браузера других устройств, например iPad, iPhone. Это очень странный случай использования, но его правда.

EDIT II

После многих размышлений я нашел ключ к этому: это хорошо работало для браузеров iPhone, iPad, iPod и Opera, потому что у них есть старая поддержка websocket, я нашел это от здесь..

В этом вопросе у парня есть обратный случай: он пытается закрыть соединение в этих браузерах, в моем случае Он закрывается на других браузерах, таких как хром, Mozilla и т.д. Это потому, что что-то называется форматированные пакеты Hybi. Это может помочь кому-то предложить решение для моего дела.

4b9b3361

Ответ 2

ws: протокол разрешен? Например config.xml

<access origin="ws://192.168.1.xx/*"/>