как загрузить изображение на сервер с помощью ajax в сборке Cordova

Может ли кто-нибудь предоставить полный серверный код ajax и (php или asp) для загрузки изображения непосредственно с простого html на онлайн-сервер. На самом деле я пытаюсь загрузить изображение на сервер с помощью phonegap cli

<form id="uploadaadhar" action="http://server_url" method="post">
    <input type="hidden" name="userid" >
    <br><label>Aadhar Number</label>
    <br><input type="number" name="aadhar" class="form-control" placeholder="XXXX XXXX XXXX">
    <br><label>Choose File</label>
    <br><input name="files[]" class="form-control" type="file" />
    <br><label>PAN Number</label>
    <br><input type="number" name="pan" class="form-control" placeholder="XXXX XXXX XXXX">
    <br><span class="ak-text-indigo">Leave Pan Card Field Blank if you do not want to update your pan card</span>
    <br><br>
    <input type="submit" value="Upload" class="ak-btn ak-blue">
</form>

<script>
    $("[type='hidden']").val(localStorage.getItem("userid")); 
    $("#uploadaadhar").ajaxForm(function(data){

        if(data !== ""){

            $("[type='submit']").val(data);
        }

    });
</script>

person Abhishek kumar Sharma    schedule 07.11.2017    source источник
comment
Возможный дубликат загрузки изображения Ajax   -  person Rahul    schedule 07.11.2017
comment
Не ленись. Ищите в гугле!   -  person Rotimi    schedule 07.11.2017
comment
Возможный дубликат загрузки изображения ajax jquery   -  person Vivek    schedule 07.11.2017
comment
Я не нашел подходящего решения. Некоторые говорили мне использовать dataurl, но никто не предоставил правильный код для использования dataurl. а также на платформе Android   -  person Abhishek kumar Sharma    schedule 07.11.2017


Ответы (3)


Вот пример демонстрации для загрузки изображения. Здесь data это изображение и другие данные, которые вы хотите отправить с помощью post. url — это место, куда вы хотите публиковать данные.

 <html>
   <form>
     <input id="file-input" type="file" name="files" accept="image/*" />
     <button type="button" onclick="uploadImage()">upload</button>
   </form>
 </html>      

и функция ajax

function uploadImage(){
 url = "your web url where u want to upload image";
 var formdata = new FormData();  
 formdata.append( 'files', $('#file-input')[0].files[0]);
 $.ajax({
   type: "POST",
   url: url,
   data: formdata,
   processData: false,
   contentType: false,
   type: 'POST',
   success: function(msg){
       // on success
   },
   error: function(){
       alert("failure");
   },
   async: false
 });
}
person Vivek    schedule 07.11.2017
comment
Это то же самое, что отправить форму с помощью ajax на сервер. Я пробовал. Не работает на phonegap или я говорю Android - person Abhishek kumar Sharma; 07.11.2017
comment
ошибок нет все работает нормально но на сервере размер файла 0 бит - person Abhishek kumar Sharma; 07.11.2017
comment
Публикация изображения через Android не будет такой же, как на веб-сервере. Мне нужно отправить изображение в зашифрованном виде, как это делает dataurl. Я лучше знаю, как расшифровать данные из dataurl на стороне сервера, но как я могу отправить их в зашифрованном виде со стороны клиента? - person Abhishek kumar Sharma; 07.11.2017
comment
На Android какую API-библиотеку вы используете для связи с сервером. как volley или другое? - person Vivek; 07.11.2017
comment
Я думаю, что ajax достаточно для связи с сервером. ждите, я тоже выложу коды - person Abhishek kumar Sharma; 07.11.2017
comment
Вы ссылались на это stackoverflow.com/questions/17445840/ - person Vivek; 07.11.2017
comment
я знаю, что есть доступный плагин, но я разрабатываю свои собственные коды. Вот почему я использую javascript + ajax для выполнения запросов - person Abhishek kumar Sharma; 07.11.2017
comment
попробуйте var_dump($_REQUEST); на сервере и проверьте, какие значения вы получаете на сервере - person Vivek; 07.11.2017

    <form id="uploadaadhar" action= "http://app.365valueservices.com/365APP/settings.php" method="post">
       <label>Aadhar Number</label>
          <input type="number" name="aadhar" class="form-control" placeholder="XXXX XXXX XXXX">`enter code here`
       <label>Choose File</label>
          <input name="files[]" class="form-control" type="file" />
          <input type="submit" value="Upload" class="ak-btn ak-blue">
   </form>

Javascript

  <script> $("#uploadaadhar").ajaxForm(function(data){
    if(data !== ""){
      $("[type='submit']").val(data);
   } });
  </script>
person Abhishek kumar Sharma    schedule 07.11.2017

person    schedule
comment
попробуй отладить. см. ответ перед isset($_FILES) var_dump($_REQUEST); и var_dump($_FILES); - person Vivek; 07.11.2017