Uploadify и флэш-проблема выгрузки на удаленный сервер - PullRequest
3 голосов
/ 01 февраля 2011

Я пытаюсь использовать uploadify для загрузки изображений на удаленный сервер.Я сделал все, что мог придумать, для решения проблемы кросс-скриптинга или чего-то еще.

Вот что я сделал.

scriptДоступ к «Всегда» в функции uploadify.У меня есть файл crossdomain.xml на моем сервере ww2, в котором также есть файл uploadify.swf.Я загрузил свой javascript-файл jquery lib на удаленный сервер ww2 и поместил его в заголовок. Я также поместил jquery.uploadify.js и swfobject.js в корневой каталог.

Если я пытаюсь нажать X, чтобы отменить файл, я получаю сообщение об ошибке: Ошибка вызова метода в NPObject или загрузка также не работает.

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

Спасибо

Ответы [ 2 ]

4 голосов
/ 04 февраля 2011

Мне удалось выяснить это самостоятельно.Я отвечу на это только в том случае, если кто-то еще может столкнуться с этой проблемой, потому что даже на сайте авторов очень мало помощи для этого.

Я решил оставить файл Flash на том же сервере (веб-сервере), потому что это не таккажется, работает положить его на медиа-сервер с файлами javscript.JS не будет работать.Таким образом, на моем главном сервере папка uploadify все еще находится на сервере, и я помещаю только файлы php (uploader.php), необходимые для обработки моих изображений на медиа-сервере И в файл crossdomain.xml в корне этого сервера.Затем сказал uploadify в настройках параметров, чтобы он указывал на мой скрипт uploader.php на этом сервере.После этого все заработало как шарм.Я потратил некоторое время, чтобы понять это и пройти мимо ошибок.Теперь я могу загрузить баланс моих медиа.Надеюсь, это поможет кому-то еще.Uploadify - действительно хорошее многофайловое загрузчик.

2 голосов
/ 15 ноября 2011

Вам необходимо изменить код в вашем uploadify.js:

/* Original code */
 uploadifyCancel:function(ID) {

                            jQuery(this).each(function() {



                               document.getElementById(jQuery(this).attr('id') + 'Uploader').cancelFileUpload(ID, true, true, false);

                            });

                       },




   /*New code */

    uploadifyCancel:function(ID){

                    jQuery(this).each(function(){

                        document.getElementById(jQuery(this).attr("id")+"Uploader").cancelFileUpload(ID,true,false)

                    });

                },



/*Original code */


                               jQuery(this).bind("uploadifyComplete", {

                                  'action': settings.onComplete

                                  }, function(event, ID, fileObj, response, data) {

                                  if (event.data.action(event, ID, fileObj, unescape(response), data) !== false) {

                                       jQuery("#" + jQuery(this).attr('id') + ID).find('.percentage').text(' - Completed');

                                       if (settings.removeCompleted) {

                                           jQuery("#" + jQuery(event.target).attr('id') + ID).fadeOut(250,function() {

                                               jQuery(this).remove()

                                               });

                                     }

                                     jQuery("#" + jQuery(event.target).attr('id') + ID).addClass('completed');

                                   }

                               });


/* New code */

 jQuery(this).bind("uploadifyProgress", {

                        'action': settings.onProgress,

                        'toDisplay': settings.displayData

                    }, function(event, ID, fileObj, data) {

                        if (event.data.action(event, ID, fileObj, data) !== false) {

                            jQuery("#" + jQuery(this).attr('id') + ID + "ProgressBar").animate({

                                'width': data.percentage + '%'

                            },250,function() {

                                if (data.percentage == 100) {

                                    jQuery(this).closest('.uploadifyProgress').fadeOut(250,function() {

                                        jQuery(this).remove()

                                    });

                                }

                            });

                            if (event.data.toDisplay == 'percentage') displayData = ' - ' + data.percentage + '%';

                            if (event.data.toDisplay == 'speed') displayData = ' - ' + data.speed + 'KB/s';

                            if (event.data.toDisplay == null) displayData = ' ';

                            jQuery("#" + jQuery(this).attr('id') + ID).find('.percentage').text(displayData);

                        }

                    });
...