2016-09-08 2 views
0

ファイル選択機能を使用してデスクトップからSWFファイルを選択し、埋め込みまたはオブジェクトタグで表示しようとしています。ピッカーに問題なく開くことができますが、SWFファイルを選択すると、それが落ちて表示されません。私は複数の異なるコードソースを試しました。 PNGやJPGのようなものをロードすると問題はありませんが、SWFファイルには問題ありません。次のようにFileReaderでローカルswfファイルを表示する

私は仕事に取得しようとしていますコードセグメントの一つは次のとおりです。

function handleFileSelect(evt) { 
    var files = evt.target.files; // FileList object 

    // Loop through the FileList and render image files as thumbnails. 
    for (var i = 0, f; f = files[i]; i++) { 

     var reader = new FileReader(); 

     // Closure to capture the file information. 
     reader.onload = (function(theFile) { 
     return function(e) { 
      // Render thumbnail. 
      var span = document.createElement('OBJECT'); 
      span.innerHTML = ['src="', e.target.result, 
          '" title="', escape(theFile.name), '"/>'].join(''); 
      //document.getElementById('list').insertBefore(span, null); 
     }; 
     })(f); 

     // Read in the image file as a data URL. 
     reader.readAsDataURL(f); 
    } 
    } 

    document.getElementById('files').addEventListener('change', handleFileSelect, false); 

は、それがこのコードの特定のブロックである必要はありdoes notの注意することは、任意のアイデアや代替案は大歓迎です。これは、PNGやJPGのような他の画像タイプで動作したバージョンから変更されています。私は私がどこかから選択することを可能にするソリューションを取得couldntのが

乾杯

+0

Erm、代わりに 'URL.createObjectURL(file)'を使ってみてください。 – Endless

答えて

0

は、私は私が同じフォルダの場所から選んだことができますいずれかを持っています。それは今のところできます。 これは以下のようにある:

function handleFileSelect(evt) { 
    var files = evt.target.files; // FileList object 

    // files is a FileList of File objects. List some properties. 
    var output = []; 
    for (var i = 0, f; f = files[i]; i++) { 
     output.push('<li>', escape(f.name),     
        '</li>'); 
    } 

    var x = document.createElement("EMBED"); 
    x.setAttribute("src", output[1]); 
    document.body.appendChild(x); 

    } 

    document.getElementById('files').addEventListener('change', handleFileSelect, false); 

しかし、ファイルとSWFが同じ場所にある場合は、再度、それはのみ動作します。

関連する問題