0

私は何かが欠けていますが、それが何であるかはわかりません...

ドラッグ アンド ドロップされたファイルの Base 64 コード バージョンをテキスト領域にプッシュしようとしていますが、何らかの理由で機能しません...

コードのどこが間違っているのか教えてくれる人はいますか? これは私にとって新しい領域です...

$(document).ready(function() {

    function processFile(file){
        var o = $("#fileInfo");
        var reader = new FileReader();
        reader.onload = function(e) {
        o.innerHTML = e.target.result.replace(/</g, "&lt;").replace(/>/g, "&gt;");
        }
        reader.readAsURL(file);
    }

    // Sets up dataTransfer event
    jQuery.event.props.push('dataTransfer');

    // Bind drop to drop zone
    $('#drop-files').bind('drop', function(e) {
        // Prevents element from default function
        e.preventDefault();
        // Grabs list of files
        var files = e.dataTransfer.files;
        // Loop through files...
        $.each(files, function(index, file) {
            processFile(files[index]);
        });
    });
});

どこで失敗したかはよくわかりません...最終的にはこれを自分で選択したアップロードページにプッシュします...しかし今のところ、少なくとも最初のファイルのBase64コードを表示したいと思いますそのテキスト領域(「fileInfo」)に。

ここで何か考えていただければ幸いです...

4

2 に答える 2

2

はオブジェクトをo表し、オブジェクトのプロパティにjQueryアクセスできません。html()を呼び出すか、 を使用してオブジェクトにします。DOMinnerHTMLoDOMindexer

変化する

o.innerHTML = e.target.result.replace(/</g, "&lt;").replace(/>/g, "&gt;");

o.html(e.target.result.replace(/</g, "&lt;").replace(/>/g, "&gt;");)

また

o[0].innerHTML = e.target.result.replace(/</g, "&lt;").replace(/>/g, "&gt;");
于 2013-03-11T06:36:44.040 に答える
0

何が起きたのかやっとわかった…

この線:

reader.readAsURL(file);

読む必要があります:

reader.readAsURLData(file);

頭を振って

しかし、後で投稿する別の小さな問題を見つけました...

あなたの努力に感謝します...

于 2013-03-13T00:30:14.730 に答える