Upload файла через линк с помощью javascript

<a href="" id="fileupload-button">Добавить фотографию</a>
uses the follow event
Код:
return function(e) {
return e.preventDefault(), t.openFileUploadDialog()
}
and this tag
<input id="fileupload-file-input" name="file" accept="image/gif, image/jpeg, image/png" style="position: absolute; top: -10000px" multiple="" type="file">
uses
Код:
return function(o) {
var n;
return n = o.currentTarget.files, t.each(n, function(t, o) {
return e.options.remaining > 0 ? e._upload(n.item(o)) : void 0
}), e.options.nodes.fileInput.val("")
}

кто может подсказать что/как надо написать (в прототайпе я ноль. яваскрипт начальный уровень)
чтобы запустив скрипт на исполнение
файл из инпут поля залился на сервер ?

запускаю скрипт на исполнение из селениума
 
я не знаю что добавить,
я понимаю что ты event хочешь отловить и протестить callback, причем тут селениум понять не могу. из этих обрывков понять что-то сложно, да и ты js как я понял не знаешь.
 
@WMix, если вы готовы помочь, то чтоб чтото понять нужно прочитать вопрос и посмотреть скрипт. тогда вы для себя уясните как там происходит процесс аплоада и сможете обьяснить мне.

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

я понимаю
e._upload(n.item(o))
аплоад происходит тут. вот как мне вызвать этот _upload с файлом из инпут поля ?
 
разве важен процесс загрузки? важнее проверить callback который вызовется после, или как ты считаешь? нужно просто сэмулировать успешное завершение. если же нужно проверить сервер, то проще подсунуть чтото ему и проверить ответ. ну и 3е проверить что если выбранно чтото в форме, то оно будет отправленно, но для этого не нужно это отправлять
 
что значит важнее,
мне нужно залить фото на сервер. мне не нужен код который проверит всё и вся. если в том случае что "запрос" (или назовите как хотите) правильный но файл по каким то причинам не залился - меня это абсолютно не интересует.

Код:
o.prototype.bind = function () {
            return this.options.nodes.button.on('click.fileupload', function (t) {
                return function (e) {
                    return e.preventDefault(),
                    t.openFileUploadDialog()
                }
            }(this)),
            this.options.nodes.fileInput.on('change.fileupload', function (e) {
                return function (o) {
                    var n;
                    return n = o.currentTarget.files,
                    t.each(n, function (t, o) {
                        return e.options.remaining > 0 ? e._upload(n.item(o))  : void 0
                    }),
                    e.options.nodes.fileInput.val('')
                }
            }(this))
        },

Код:
 o.prototype._upload = function (t) {
            var o;
            if (t instanceof File) return o = new FormData,
            o.append('file', t),
            e.ajax({
                url: this.getUrl(),
                type: 'post',
                data: o,
                dataType: 'json',
                processData: !1,
                contentType: !1,
                beforeSend: function (t) {
                    return function () {
                        return t.options.on.beforeSend.apply(null, arguments)
                    }
                }(this),
                complete: function (t) {
                    return function () {
                        return t.options.on.complete.apply(null, arguments)
                    }
                }(this),
                error: function (t) {
                    return function (e) {
                        return t.options.on.error(e)
                    }
                }(this),
                success: function (t) {
                    return function (e, o, n) {
                        return e.success ? t.options.on.success.apply(null, arguments)  : t.options.on.error(n)
                    }
                }(this)
            })
        }

как мне вызвать (принудительно) _upload с моим файлом из инпута _upload("мой файл из инпута")
вот как мне это вызвать ?
просто в консоли набрать
_upload(document.getElementById("fileupload-file-input").value)
дает ReferenceError: _upload is not defined
 
не понял вопроса.

сразу после выбора фото, до отправки формы, уходит такой пост реквест
https://i.simpalsmedia.com/upload/?...RKViHDxCQ4VgU727URXIjFVFFw6Gr3A=&base64=thumb
в теле которого передаваемый имадж
НО
послав принудительно такой реквест ни к чему не приводит. я уже писал выше, если внимательно читать.


как мне вызвать _upload?
просто в консоли набрать
_upload(document.getElementById("fileupload-file-input").value)
дает ReferenceError: _upload is not defined
 
а заголовки соблюдил? чтонить типа X-Requested-With
 
его нет в оригин запросе.

как мне вызвать _upload? или на кмне тригернуть событие change ? ...trigger("change") не проходит
 
чтоб файл загружался у формы должен быть атрибут enctype="multipart/form-data"

добавь: $('#js-add-form').attr( "enctype", "multipart/form-data" ).attr( "encoding", "multipart/form-data" )

encoding - нужен для IE браузеров.
 
Сверху