5

これには答えがないかもしれませんが、Google で何も見つからないので、とにかく質問します。主にphpとHTML5を使用して作成されたファイルアップロードサイトがあります。HTML5 チャンキング システムを使用すると、アップロードされたチャンクをサーバーにチェックインすることで、ファイルのアップロードを一時停止および再開できることを知っています。ただし、機能させるには、ユーザーが同じファイルをアップロードする必要がありました。

さて、ユーザーが初めてそのファイルをアップロードしようとしたときに、ユーザーの完全なファイルパスを取得して、そのパスをデータベースに保存するために、とにかくそこにいるのだろうかと思っていました。何かが起こった場合、サイトでユーザーにここをクリックして再開するように指示できます (ファイル パスがあるので、ユーザーにそのファイルを再度参照するよう要求する代わりに、自動送信できます)。

Javaを使用して(署名付き証明書を使用して)それを実行できるかどうかはわかっていますが、これを実行するには、望ましいphp、javascript、またはhtml5を使用しています。私はJavaを避けようとしています。それとも他の言語ですか?

注: このファイルのアップロードは、大量のアップロード (1MB から 4GB のファイルの範囲) 用であり、今のところ問題なく動作します。このプロジェクトに一時停止/再開機能を追加しようとしているだけです。

これが機能するために、信頼できる証明書またはsmtgを購入しても構いません

またはとにかく、おそらくシルバーライトを使用してファイルパスを取得し、ファイルパスを取得した後、php の html 形式で自動送信して、一時停止再開機能を処理します。

ありがとうございました

4

3 に答える 3

1

FileReader とある種のローカル ストレージを使用して、画像をローカルに保存し、キャッシュからアップロードできます。ここで sessionStorage を使用した同様の問題の例を書きました:キャッシュされた画像の完全なファイルパスを取得する

var input = document.querySelector("#imageInput");
input.addEventListener("change", function(e){
    var reader = new FileReader();
    reader.onload = function(evt){
        var newImage = document.createElement("img");
        newImage.src = evt.target.result;
        document.querySelector("body").appendChild(newImage);
        sessionStorage.setItem("image", evt.target.result);
    };
    reader.readAsDataURL(e.target.files[0]);
}, false);

window.addEventListener("load", function(e){
    if(sessionStorage.getItem("image")){
        var newImage = document.createElement("img");
        newImage.src = sessionStorage.getItem("image");
        document.querySelector("body").appendChild(newImage);
    }
}, false);

したがって、キャッシュされた画像を参照するだけです。

于 2013-07-01T22:32:08.680 に答える