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



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

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

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

OFFLINE Отправлено

zuzu7777
группа пользователя
  • Онлайн:441д 21ч 6м
622

Всем привет

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

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

 

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

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

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

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

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

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

 

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


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




    • 0
  • Наверх

OFFLINE Отправлено

F-Materia
группа пользователя
  • Онлайн:213д 7ч 29м
1 765
А может лучше сразу изложить суть вопроса, ведь так у тебя больше шансов на то, что какой-то знающий мимокрокодил решит помочь
    • 2
  • Наверх

OFFLINE Отправлено

@Neon4eG@
группа пользователя
  • Онлайн:22д 8ч 39м
9
Через js ловим изменение input, в котором выбирается файл, получаем "ссылку" на файл на компе, к которому нам разрешили доступ. И методом post на php отправляем. Позже с компа могу накидать код, если надо)
    • 0
  • Наверх

OFFLINE Отправлено

FTOH
группа пользователя
  • Онлайн:131д 22ч 53м
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
группа пользователя
  • Онлайн:441д 21ч 6м
622

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

 

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

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


    • 0
  • Наверх

OFFLINE Отправлено

zuzu7777
группа пользователя
  • Онлайн:441д 21ч 6м
622

Достаточно только 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@
группа пользователя
  • Онлайн:22д 8ч 39м
9
Либо раньше не было написано, либо я только сейчас заметил, что нужно для расширения Firefox... IMacros?
    • 0
  • Наверх

OFFLINE Отправлено

FTOH
группа пользователя
  • Онлайн:131д 22ч 53м
226

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

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

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

    • 0
  • Наверх

OFFLINE Отправлено

zuzu7777
группа пользователя
  • Онлайн:441д 21ч 6м
622

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

извиняюсь

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


    • 0
  • Наверх

OFFLINE Отправлено

MachinesWork
группа пользователя
  • Онлайн:13д 16ч 24м
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 Отправлено

@Neon4eG@
группа пользователя
  • Онлайн:22д 8ч 39м
9

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

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


    • 0
  • Наверх

OFFLINE Отправлено

zuzu7777
группа пользователя
  • Онлайн:441д 21ч 6м
622

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

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

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

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


    • 0
  • Наверх

OFFLINE Отправлено

zuzu7777
группа пользователя
  • Онлайн:441д 21ч 6м
622

 

По идее сначала через 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
группа пользователя
  • Онлайн:13д 23м
26

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

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

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

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


    • 0
  • Наверх

OFFLINE Отправлено

zuzu7777
группа пользователя
  • Онлайн:441д 21ч 6м
622

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

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

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


    • 0
  • Наверх