Как отправить файл по FTP в JavaScript?

Я хочу, чтобы когда пользователь загружает файл, этот файл отправлялся на сервер по FTP без нажатия кнопки или отправки формы. Я пытаюсь это сделать, но ничего не получается.

Сначала я создал функцию с временными интервалами, которая проверяет, пуст ли входной файл или нет. Если он не пуст, она должна отправить файл на сервер.

var file = "/uploads/" + {{ api_id }}

это должен быть адрес файла на сервере.

Как я могу это сделать или где моя ошибка?

<input type="file" class="form-control-file" id="exampleFormControlFile1" name="bankStat1">

    <script>

        setInterval(displayHello, 1000);

        function displayHello() {
           var is_File = false
            if (document.getElementById("exampleFormControlFile1").files.length >= 1){
                is_File = true
                var file = "/uploads/" + {{ api_id }}

                var ftp = new FtpConnection("ftp://myftp/") ;
                ftp.login("myuser", "mypass");

                ftp.cd("uploads")
                ftp.put(file,document.getElementById("exampleFormControlFile1").files[0]) ;

                ftp.close() ;
                file.close() ;
            }
            console.log(is_File)

        }

    </script>

Я не думаю, что существует хорошее решение для загрузки файлов непосредственно из клиентского javascript на сервер через FTP. Проблема в том, что ваши учетные данные FTP должны быть где-то, чтобы javascript мог получить к ним доступ, но впоследствии это означает, что любой, у кого есть доступ к этому javascript, может просто использовать ваш FTP-сервер по своему усмотрению (ситуация, которая созрела для злоупотреблений)

Если вы просто пытаетесь загрузить файлы на сервер, HTML/HTTP обеспечивает функциональность загрузки файлов на стороне клиента, а Django имеет возможность делать что-то с этими файлами. Если у вас есть сервер, доступный только через FTP, я рекомендую загрузить файл на ваш django-сервер и затем использовать FTP-библиотеку python для пересылки его оттуда. (Я также рекомендую тщательно проверять файлы, загруженные пользователями, так как проблемы с безопасностью возникают, если позволить файлам, предоставленным клиентами, жить на вашем сервере!)

Вернуться на верх