1

Apple は、iWork ファイルの管理方法を変更しました。ファイルは、アプリによく似たコンテンツを含むバンドルになりました。多数のファイルを受け取ることができるアップロード フォームを作成する必要があります。主に画像ですが、いくつかのページと番号も含まれています。ドロップされたファイルの数は最大 15 個で、PHP を使用してサーバー側でソートされます。それはすでに構築されています。

私の質問はです。

Pages ファイルをアップロードするにはどうすればよいですか? これまでのところ、事前に構築された多くのソリューションを試してきました。

私もゼロから構築してきました。「dataTransfer」は気に入らず、ディレクトリだと言っています。FileReader はそれを見ますが、次のことをしようとすると

for  (var i = 0; i < items.length; ++i) {
            var entry = items[i].type;

            if (entry == "image/png" || entry.type == "image/jpg" || entry.type == "image/jpeg" ) {
                formData.append("file" + i , items[i]);

            } else {

                var fileReader = new FileReader(); 
                var binary = fileReader.readAsBinaryString(items[i]);
                var blob = new Blob([binary], {type: blob});
                formData.append("file" + i , blob);

undefined を返し、次のエラーをポップします"failed to load resource blob:http://localhost/<RANDOM BLOB STRING HERE>"

BLOB サーバー側をデコードすると、当然のことながら、サイズが 0Kb のファイルが取得されるため、決して実行されません。

私は本当にすべてのファイルをサーバー上のフォルダーに入れたいだけです。ファイルごとにサーバー要求を送信する必要がある場合でも、非効率的であってもかまいません。

base64エンコードも試しましたが、同様の結果が得られました。XHR.response の「blob」メソッドも試しました。いずれの場合も、ファイルを取得できないか、破損したバージョンを取得します。

これを攻撃する最善の方法は何ですか?

4

1 に答える 1