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



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

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

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

ONLINE Отправлено

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

    Уровень 5

  • Cообщений: 16 570
  • Друзей:75
  • Поинты: 20 899
  • Предупреждений: 0
  • Онлайн:354д 9ч 54м
539

Всем привет

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

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

 

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

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

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

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

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

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

 

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


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




    • 0
  • Наверх

OFFLINE Отправлено

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

  • Cообщений: 829
  • Друзей:3
  • Поинты: 6 819
  • Предупреждений: 0
  • Онлайн:151д 16ч 3м
1 671
А может лучше сразу изложить суть вопроса, ведь так у тебя больше шансов на то, что какой-то знающий мимокрокодил решит помочь
    • 2
  • Наверх

OFFLINE Отправлено

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

    Уровень 2

  • Cообщений: 568
  • Поинты: 14
  • Предупреждений: 0
  • Онлайн:21д 17ч 2м
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
  • Наверх

ONLINE Отправлено

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

    Уровень 5

  • Cообщений: 16 570
  • Друзей:75
  • Поинты: 20 899
  • Предупреждений: 0
  • Онлайн:354д 9ч 54м
539

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

 

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

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


    • 0
  • Наверх

ONLINE Отправлено

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

    Уровень 5

  • Cообщений: 16 570
  • Друзей:75
  • Поинты: 20 899
  • Предупреждений: 0
  • Онлайн:354д 9ч 54м
539

Достаточно только 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 Отправлено

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

    Уровень 2

  • Cообщений: 568
  • Поинты: 14
  • Предупреждений: 0
  • Онлайн:21д 17ч 2м
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
  • Наверх

ONLINE Отправлено

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

    Уровень 5

  • Cообщений: 16 570
  • Друзей:75
  • Поинты: 20 899
  • Предупреждений: 0
  • Онлайн:354д 9ч 54м
539

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

извиняюсь

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


    • 0
  • Наверх

OFFLINE Отправлено

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

    Уровень 1

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

По идее сначала через 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 Отправлено

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

    Уровень 2

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

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

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


    • 0
  • Наверх

ONLINE Отправлено

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

    Уровень 5

  • Cообщений: 16 570
  • Друзей:75
  • Поинты: 20 899
  • Предупреждений: 0
  • Онлайн:354д 9ч 54м
539

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

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

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

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


    • 0
  • Наверх

ONLINE Отправлено

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

    Уровень 5

  • Cообщений: 16 570
  • Друзей:75
  • Поинты: 20 899
  • Предупреждений: 0
  • Онлайн:354д 9ч 54м
539

 

По идее сначала через 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ообщений: 261
  • Друзей:31
  • Поинты: 1
  • Предупреждений: 0
  • Онлайн:11д 4ч 49м
20

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

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

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

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


    • 0
  • Наверх

ONLINE Отправлено

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

    Уровень 5

  • Cообщений: 16 570
  • Друзей:75
  • Поинты: 20 899
  • Предупреждений: 0
  • Онлайн:354д 9ч 54м
539

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

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

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


    • 0
  • Наверх