2011-01-31 4 views
3

uploadifyを使用してイメージをリモートサーバにアップロードしようとしています。私は、クロススクリプティングの問題などについて何でも考えています。Uploadifyとリモートサーバへのアップロードのフラッシュの問題

これは私がやったことです。

scriptAccessアップロード機能で「常に」を指定します。 ww2サーバーにcrossdomain.xmlがあり、ルートにもuploadify.swfがあります。 javacriptのjqueryのlibファイルをリモートのww2サーバーにアップロードして、ヘッダーに入れました。 jquery.uploadify.jsとswfobject.jsをルートディレクトリに配置しました。

ファイルを取り消すためにXをクリックしようとすると、次のエラーが表示されます。NPObjectでメソッドを呼び出す際にエラーが発生しました またはアップロードが機能しません。

誰かがこれを助けることができればそれはすばらしいでしょう。問題のないリモートファイルを行う他の良いフラッシュベースまたは非フラッシュベースのマルチアップローダーがある場合は、私に知らせてください。

ありがとうございました

答えて

4

私は自分でそれを把握することができました。誰かがこの問題を抱えている可能性があるので、私はそれに答えるでしょう。著者のサイトでさえ助けがほとんどないからです。

私はjavscriptファイルを使ってメディアサーバーにファイルを置くことができなかったので、同じサーバー(Webサーバー)にFlashファイルを残すことにしました。 jsは動作しませんでした。 私のメインサーバーはまだサーバー上のuploadifyフォルダーを持っています。私は自分のイメージをメディアサーバーとそのサーバーのルートにあるcrossdomain.xmlに処理するために必要なPHPファイル(uploader.php)のみを置いています。 その後、パラメータ設定でuploadifyを実行して、そのサーバ上のmy uploader.phpスクリプトをポイントするように指示しました。 それ以降、すべてが魅力的に機能しました。私はそれを理解し、エラーを渡すためにかなり時間がかかりました。今はメディアの負荷を分散できます。 これは他の人に役立つことを願っています。 Uploadifyは本当に素晴らしいマルチファイルアップローダーです。あなたのuploadify.jsにコードを変更する必要が

+0

は、あなただけの 'crossdomain.xml'ファイルを入れて、uploader.php''へのリンクを変更しましたか?私はまだ 'セキュリティエラー'を取得します。たぶん、XMLファイルの内容を投稿することができますか? – adrianTNT

+0

@adrianTNTあなたは答えをdownvoteでしたか? –

+0

これらの正確な手順は私のためには機能しないので、私はやった。多分何かを編集することはありますか?ありがとう。 – adrianTNT

2

/* 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); 

         } 

        }); 
+1

3.0にはありません。また、Xを押すと、ダイアログボックスのエラー-280:ファイルがキャンセルされました。私は警報が出てくるのを望んでいない。ファイルを削除したいだけです。ファイルは削除されますが、アラートは表示されません。どのようにそれを修正するための任意のアイデア? –

関連する問題