Инструменты пользователя

Инструменты сайта


cloudterminal:csv

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
cloudterminal:csv [2018/12/28 11:45] kuldcloudterminal:csv [2023/11/21 08:44] (текущий) kuld
Строка 8: Строка 8:
 <code csv> <code csv>
 barcode,name,advanced_name,unit barcode,name,advanced_name,unit
-4893729011893,Скрепы,,шт. +"4893729011893","Скрепы,","шт." 
-2000000000015,Велосипед,, +"2000000000015","Велосипед",, 
-2900000005686,Блокнот,Желтый,литр +"2900000005686","Блокнот","Желтый","литр" 
-4960371004716,Деталь,,шт. +"4960371004716","Деталь",,"шт." 
-640522710850,Дрель,,пачка +"640522710850","Дрель,","пачка" 
-725211167020,Утюг,синий,литр+"725211167020","Утюг","синий","литр"
 </code> </code>
  
Строка 23: Строка 23:
  
  
-<spoiler|PHP-код+Исходный код примера. Разместите разместите его в файле ''service.php'' у себя на хостинге
-Разместите этот код в файле ''service.php''+
 <code php> <code php>
 <?php <?php
  
-$url = 'http://datacollector.lineris.ru:8080/masterdata/csv/'; +$url = 'https://datacollector.lineris.ru/masterdata/csv/'; // URL веб-сервиса 
-$key = '3220eb24-e0f8-4b45-a481-638719cbe7f1';+$key = '5422eb21-e0f8-4b4e-f481-6a8719cae7f1'; // Ключ доступа
  
 $maxsize = '100000'; //Ограничение размера csv файла в байтах $maxsize = '100000'; //Ограничение размера csv файла в байтах
Строка 82: Строка 81:
 ?> ?>
 </code> </code>
-</spoiler>+ 
 +Исходный код примера HTML страницы с формой выбора файла и кнопкой "Отправить". Встройте его в нужные страницы вашего сайта. 
 + 
 +<code html> 
 +<!DOCTYPE html> 
 +<html> 
 +<head> 
 +  <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
 +  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> 
 +   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">  
 +  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> 
 +</head> 
 +<body> 
 + <section id="form" style="margin-top:50px;"> 
 +  <div class="container"> 
 +   <div class="row"> 
 +    <div class="col-md-3"></div> 
 +    <div class="col-md-6"> 
 +    <form class="form-horizontal" id="ajaxForm"> 
 +      <div class="form-group"> 
 +        <label for="inputEmail" class="col-xs-3 control-label">Файл CSV:</label> 
 +        <div class="col-xs-9"> 
 +          <input type="file" id="formFile" name="file" accept=".csv"> 
 +        </div> 
 +      </div>         
 +      <div class="form-group" style="display:none;" id="msgdiv"> 
 +        <div class="col-xs-4">Текстовое сообщение:</div> 
 +        <div class="col-xs-8" id="msg"> 
 +           
 +        </div> 
 +      </div> 
 +      <div class="form-group" style="display:none;" id="qrdiv"> 
 +        <label for="inputPassword" class="col-xs-3 control-label">QR-код:</label> 
 +        <div class="col-xs-9"> 
 +          <div id="qrcode"></div> 
 +        </div> 
 +      </div> 
 + 
 +      <div class="form-group"> 
 +        <div class="col-xs-offset-2 col-xs-10"> 
 +          <button type="submit" class="btn btn-default">Отправить</button> 
 +        </div> 
 +      </div> 
 +    </form> 
 +    </div> 
 +    <div class="col-md-3"></div> 
 +   </div> 
 +  </div> 
 + </section> 
 + <script> 
 +$(document).ready(function() { 
 + 
 +        $('#ajaxForm').submit(function(e) { 
 +             
 +           e.preventDefault(); 
 +           var $that = $(this), 
 +           formData = new FormData($that.get(0)); 
 +  
 +           $.ajax({ 
 +            url: 'service.php', 
 +            type: 'POST', 
 +            contentType: false, 
 +            processData: false, 
 +            data: formData, 
 +            dataType: 'json', 
 +            xhr: function(){ 
 +             var xhr = $.ajaxSettings.xhr(); 
 +             xhr.onload = xhr.onerror = function()  
 +             { 
 +              if (this.status == 200) { 
 +        
 +               if (this.response.match('error')) 
 +               { 
 +                $('#qrdiv').css('display','none'); 
 +                $('#msgdiv').css('display','block'); 
 +                $('#msg').html(this.response.substr(6));            
 +               } else { 
 +                $('#qrdiv').css('display','block'); 
 +                $('#msgdiv').css('display','none'); 
 +                $('#qrcode').html('<img src="data:image/jpeg;base64, '+this.response+'">'); 
 +               } 
 +             } 
 +            }; 
 +             
 +             
 +             return xhr; 
 +            } 
 +           });       
 +            
 +        }); 
 + 
 +}); 
 + </script> 
 +</body> 
 +</html> 
 + 
 +</code>
  
 <note>Как видите, это не совсем файловый обмен, и отправителю и мобильному устройству нужно иметь доступ к веб-сервису обмена, передача данных производится по HTTP протоколу</note> <note>Как видите, это не совсем файловый обмен, и отправителю и мобильному устройству нужно иметь доступ к веб-сервису обмена, передача данных производится по HTTP протоколу</note>
Строка 90: Строка 185:
 Для имитации отправки собранных в виде файла в настройках мобильного приложения **Облачный ТСД** в разделе //Веб-служба передачи данных// следует включить опцию //Самостоятельная отправка// и настроить //URL веб-службы// и //Ключ доступа//. Для имитации отправки собранных в виде файла в настройках мобильного приложения **Облачный ТСД** в разделе //Веб-служба передачи данных// следует включить опцию //Самостоятельная отправка// и настроить //URL веб-службы// и //Ключ доступа//.
  
-<note tip>По-умолчанию эти параметры настроены на нашу облачный веб-сервис с демонстрационным ключом доступа</note>+<note tip>По-умолчанию эти параметры настроены на наш облачный веб-сервис с демонстрационным ключом доступа</note>
  
 После этих настроек в меню приложения появится пункт //Отправить данные через веб-сервис//. Приложение выгрузит собранные данные в настроенный веб-сервис обмена, а ссылку для их получения в формате csv отправит через выбранный Вами сервис (e-mail, мессенджеры и т.п.). После этих настроек в меню приложения появится пункт //Отправить данные через веб-сервис//. Приложение выгрузит собранные данные в настроенный веб-сервис обмена, а ссылку для их получения в формате csv отправит через выбранный Вами сервис (e-mail, мессенджеры и т.п.).
 +
 +<note>
 +В бесплатной версии приложения Облачный ТСД установлен месячный лимит в 30 отправок собранных данных через наш сервис обмена.
 +</note>
  
 По ссылке открывается текстовый документ в формате csv: По ссылке открывается текстовый документ в формате csv:
Строка 107: Строка 206:
 </code> </code>
  
 +А ещё вы можете получить собранные данные POST запросом непосредственно на ваш сайт или в облачное приложение в формате JSON. Сделайте обработчик POST запросов на вашем сайте или в облачном приложении, URL этого обработчика должен заканчиваться на ''/upload''. Закодируйте URL в QR-код и отобразите его. Если сканировать приложением этот QR код, оно отправит собранные данные POST запросом в формате JSON по указанному URL. Получите данные и вертине HTTP статус 200 в ответ на этот запрос.
 +
 +<note tip>Такая отправка работает без месячного лимита даже в бесплатной версии.</note>
cloudterminal/csv.1545997509.txt.gz · Последнее изменение: 2018/12/28 11:45 — kuld

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki