Загрузка файла с использованием ftp и электрона - PullRequest
0 голосов
/ 21 мая 2019

Я новичок в StackOverflow.Я запустил электронный проект и хочу внедрить в него возможность загружать файлы по FTP.Я немного погуглил и нашел хороший модуль узла jsftp, который соответствует всем моим потребностям.Проблема в том, что я новичок в электронном и узловом кодировании, и я не знаю, как управлять загрузкой файлов.Я пытался использовать стандартный ввод файла, но безуспешно.У меня вопрос, как я могу осуществить выбор файла от пользователя, а затем загрузить выбранный файл на FTP-сервер?Вот мой фрагмент кода:

HTML

  <!-- Upload form row -->
  <div class="row justify-content-center" id="">

    <div class="col-8">
      <form method="POST" action="/process-form" enctype="multipart/form-data" id="file-uploader">
        <div class="form-row">

        <div class="col-6">
          <label for="file_name">File name</label>
          <input type="text" class="form-control" id="file-name" name="file_name" placeholder="Nome file" />
        </div>

        <div class="col-6">
          <label>Select file</label>
          <div class="custom-file">
            <input type="file" class="custom-file-input" name="uploaded_file" id="customFile" />
            <label class="custom-file-label" for="customFile">Seleziona file</label>
          </div>
        </div>

        <div class="col-12">
          <label for="file_description">Description</label>
          <textarea class="form-control" name="file_description" placeholder="Descrizione"></textarea>
        </div>

        <div class="col-12">
          <button type="submit" name="upload_file" class="btn btn-link" id="process-form">UPLOAD</button>
        </div>

        </div>
      </form>
    </div>

  </div>

Код JS:


<!-- init app and xhr requests-->
<script type="text/javascript">
const jsftp = require('jsftp');
const bsCustomFileInput = require('bs-custom-file-input');
let ftp;

$(document).ready(function(){

  $('#login-modal').modal('show');

  $('#login-form').submit(function(e){


    e.preventDefault();
    var host = $('#host-field').val();
    var user = $('#user-field').val();
    var pass = $('#password-field').val();

    ftp = new jsftp({
    host: host,
    port: 21, // defaults to 21
    user: user, // defaults to "anonymous"
    pass: pass, // defaults to "@anonymous"
    });

    ftp.list('public_html', (err, res) => {
       console.log(res);
    });

    console.log(ftp);

  });

  bsCustomFileInput.init();

   $('#file-uploader').submit(function(e){
     console.log(ftp);
      e.preventDefault();
      var formData = new FormData($('#file-uploader')[0]);
      var filename = $('#file-name').val();

      ftp.put(formData, "mysubdomain.testing.net/"+filename+".jpeg", err => {
        if(!err){
          console.log("File transferred successfully!");
        }
        else{
          console.log(err);
        }
      });
   });


});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...