Перейти к содержимому



Купить ссылку здесь
Фотография

Нужна помощь по JS!

Форум ZiSMO.biz
JS JavaScript Инитересные публикации imacros и js
14
Сообщений в теме: 14

OFFLINE Отправлено

zuzu7777
группа пользователя

    Уровень 5

  • Cообщений: 16 835
  • Друзей:78
  • Поинты: 22 536
  • Предупреждений: 0
  • Онлайн:395д 18ч 9м
562

Всем привет

Кто может помочь?
Правда я не знаю как правильно сформулировать вопрос, это вроде из области XPCOM

Ели есть кто в этом разбирается, отпишитесь!
В это мне могут помочь те кто создают расширения для FF
Суть вопроса:

 

нужно загрузить изображение(картинка) на сайт(сервер) с ПК

через "multipart/form-data"

как я понимаю это должно выглядеть примерно так

1.получаем файл с ПК

2.формируем   form-data

3.отправляем POST запрос

 

помогите пожалуйста решить эту задачу


Сообщение отредактировал zuzu7777: 17 08 2016 - 02:12




    • 0
  • Наверх

ONLINE Отправлено

F-Materia
группа пользователя

  • Cообщений: 845
  • Друзей:3
  • Поинты: 966
  • Предупреждений: 0
  • Онлайн:186д 14ч 25м
1 735
А может лучше сразу изложить суть вопроса, ведь так у тебя больше шансов на то, что какой-то знающий мимокрокодил решит помочь
7fcc957951ae.gif
    • 2
  • Наверх

OFFLINE Отправлено

    Уровень 2

  • Cообщений: 568
  • Поинты: 14
  • Предупреждений: 0
  • Онлайн:21д 18ч 16м
7
Через js ловим изменение input, в котором выбирается файл, получаем "ссылку" на файл на компе, к которому нам разрешили доступ. И методом post на php отправляем. Позже с компа могу накидать код, если надо)
    • 0
  • Наверх

OFFLINE Отправлено

FTOH
группа пользователя

    Постоянный

  • Cообщений: 1 715
  • Друзей:72
  • Поинты: 3
  • Предупреждений: 70
226
Достаточно только html
 
<!-- Тип кодирования данных, enctype, ДОЛЖЕН БЫТЬ указан ИМЕННО так -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- Поле MAX_FILE_SIZE должно быть указано до поля загрузки файла -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Название элемента input определяет имя в массиве $_FILES -->
    Отправить этот файл: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>
Источник
    • 0
  • Наверх

OFFLINE Отправлено

zuzu7777
группа пользователя

    Уровень 5

  • Cообщений: 16 835
  • Друзей:78
  • Поинты: 22 536
  • Предупреждений: 0
  • Онлайн:395д 18ч 9м
562

Через js ловим изменение input, в котором выбирается файл, получаем "ссылку" на файл на компе, к которому нам разрешили доступ. И методом post на php отправляем. Позже с компа могу накидать код, если надо)

 

это все не то и причем php

мне нужно, что бы было через JS по средствам FF


    • 0
  • Наверх

OFFLINE Отправлено

zuzu7777
группа пользователя

    Уровень 5

  • Cообщений: 16 835
  • Друзей:78
  • Поинты: 22 536
  • Предупреждений: 0
  • Онлайн:395д 18ч 9м
562

Достаточно только html
 

<!-- Тип кодирования данных, enctype, ДОЛЖЕН БЫТЬ указан ИМЕННО так -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- Поле MAX_FILE_SIZE должно быть указано до поля загрузки файла -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Название элемента input определяет имя в массиве $_FILES -->
    Отправить этот файл: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>
Источник

 

с этим все понятно

и это все не то, что мне нежно

но мне нежно на JS


    • 0
  • Наверх

OFFLINE Отправлено

    Уровень 2

  • Cообщений: 568
  • Поинты: 14
  • Предупреждений: 0
  • Онлайн:21д 18ч 16м
7
Либо раньше не было написано, либо я только сейчас заметил, что нужно для расширения Firefox... IMacros?
    • 0
  • Наверх

OFFLINE Отправлено

FTOH
группа пользователя

    Постоянный

  • Cообщений: 1 715
  • Друзей:72
  • Поинты: 3
  • Предупреждений: 70
226

с этим все понятно
и это все не то, что мне нежно
но мне нежно на JS

Так тебе на imacros надо? Только средствами JS такое не реализовать, потому что нет доступа к файловой системе.
 
Для imacros вот инструкция на английском: Ссылка. И опять же таки нужна форма отправки: с помощью imacros выбираем файл и submit`им форму (страница перезагрузится). С помощью JS можно отправлять данные в фоне без перезагрузки страницы (СсылкаСсылка).

Сообщение отредактировал FTOH: 17 08 2016 - 19:25

    • 0
  • Наверх

OFFLINE Отправлено

zuzu7777
группа пользователя

    Уровень 5

  • Cообщений: 16 835
  • Друзей:78
  • Поинты: 22 536
  • Предупреждений: 0
  • Онлайн:395д 18ч 9м
562

Либо раньше не было написано, либо я только сейчас заметил, что нужно для расширения Firefox... IMacros?

извиняюсь

это я подправила уже что бы попонятней было


    • 0
  • Наверх

OFFLINE Отправлено

MachinesWork
группа пользователя

    Уровень 1

  • Cообщений: 416
  • Поинты: 15
  • Предупреждений: 0
  • Онлайн:13д 16ч 20м
28

По идее сначала через FF FileReader API читаем содержимое файла, далее содержимое пакуем в XHR и шлем:

var body = "data";

var xhr = new XMLHttpRequest();
xhr.open('POST', '/submit', true);

xhr.setRequestHeader('Content-Type', 'multipart/form-data; boundary=' + boundary);

xhr.onreadystatechange = function() {
if (this.readyState != 4) return;

alert( this.responseText );
}

xhr.send(body);

    • 0
  • Наверх

OFFLINE Отправлено

    Уровень 2

  • Cообщений: 568
  • Поинты: 14
  • Предупреждений: 0
  • Онлайн:21д 18ч 16м
7

Как я понял, нужно автоматизировать процесс загрузки файла.

Если загружаете на каком-то сайте и хотите использовать iMacros - просто находите на сайте нужный input и передаёте ему путь к файлу. Это для случая, когда загрузка начинается при изменении input. (нужно проверить). Если загрузку по нажатию файла - следовательно, делайте нажатие файла. Всё это с помощью iMacros, естественно. Более детально смогу подсказать если покажете сайт или пример сайта, где всё работает, как на Вашем.


    • 0
  • Наверх

OFFLINE Отправлено

zuzu7777
группа пользователя

    Уровень 5

  • Cообщений: 16 835
  • Друзей:78
  • Поинты: 22 536
  • Предупреждений: 0
  • Онлайн:395д 18ч 9м
562

Как я понял, нужно автоматизировать процесс загрузки файла.

Если загружаете на каком-то сайте и хотите использовать iMacros - просто находите на сайте нужный input и передаёте ему путь к файлу. Это для случая, когда загрузка начинается при изменении input. (нужно проверить). Если загрузку по нажатию файла - следовательно, делайте нажатие файла. Всё это с помощью iMacros, естественно. Более детально смогу подсказать если покажете сайт или пример сайта, где всё работает, как на Вашем.

да мне надо что бы код запускался через плеер iMacros

но самого iMacros в коде что бы не было


    • 0
  • Наверх

OFFLINE Отправлено

zuzu7777
группа пользователя

    Уровень 5

  • Cообщений: 16 835
  • Друзей:78
  • Поинты: 22 536
  • Предупреждений: 0
  • Онлайн:395д 18ч 9м
562

 

По идее сначала через FF FileReader API читаем содержимое файла, далее содержимое пакуем в XHR и шлем:

var body = "data";

var xhr = new XMLHttpRequest();
xhr.open('POST', '/submit', true);

xhr.setRequestHeader('Content-Type', 'multipart/form-data; boundary=' + boundary);

xhr.onreadystatechange = function() {
if (this.readyState != 4) return;

alert( this.responseText );
}

xhr.send(body);

 

вот у меня есть такой код, но он не работает

может вы мне подскажите что нибудь по нему

Скрытый текст
Быть пользователем с именем MachinesWork


    • 0
  • Наверх

OFFLINE Отправлено

true_coder
группа пользователя

    Уровень 1

  • Cообщений: 274
  • Друзей:37
  • Поинты: 10
  • Предупреждений: 0
  • Онлайн:12д 14ч 49м
21

с этим все понятно

и это все не то, что мне нежно

но мне нежно на JS

Можешь у меня посмотреть в загрузке аватарок есть такая функция: http://vkbot.ml


    • 0
  • Наверх

OFFLINE Отправлено

zuzu7777
группа пользователя

    Уровень 5

  • Cообщений: 16 835
  • Друзей:78
  • Поинты: 22 536
  • Предупреждений: 0
  • Онлайн:395д 18ч 9м
562

Можешь у меня посмотреть в загрузке аватарок есть такая функция: Ссылка

я не совсем поняла, что именно я там должна увидить

мне нужно, что бы было через JS по средствам FF


    • 0
  • Наверх