0

js/jQuery ベースのフロントエンドから ASP.net ベースのサーバー側関数にファイルをアップロードするために、Real Ajax Uploader ( http://www.albanx.com/ajaxuploader ) を使用しました。これは、ファイルからファイルを選択することでうまく機能します。ファイルダイアログを介してシステム。

しかし今、「ファイルの選択」をクリックしてファイルから選択することで手動で選択するのではなく、JS関数を介して自動的にアップロードするようにファイルを設定する方法を見つける必要があります(ファイルの正確な名前とローカルパスを知っています)-ダイアログ。

ファイルオブジェクトを手動で作成し、それをファイル配列にプッシュする必要があると思います(この説明により、ファイル情報を取得できます:http://www.albanx.com/ajaxuploader/examples.php?e=6)しかし、私は私のjs関数を介してファイルの設定とアップロードを管理できません

どんな助けでも大歓迎です 事前に感謝します

編集: 返信ありがとうございます。これは、デバイスのカメラで写真を撮り、それをアップローダーのファイル オブジェクトにプッシュするためのコードです...これまでのところ動作しますが、ファイルアップローダーを更新する方法がわかりません。これを行う方法があります...そのため、ファイルはファイルリスト(file_list [0])にあり、必要と思われるすべてのパラメーターが含まれていますが、GUIファイルリストには表示されません

よろしくドン

<code>
// photo functions
function getPhoto(){
    navigator.camera.getPicture(onPhotoSuccess, onPhotoFail, { 
            quality: 50, 
            destinationType: Camera.DestinationType.NATIVE_URI
    }); 
    console.log("get photo ...");
}

function onPhotoSuccess(imageURI) {         
    console.log("photo taken ..." + imageURI);
    $('#imgUploadArea').ajaxupload('clear');
    var AU = $('#imgUploadArea').data('AU');
    var file_list = AU.files; //get all the file objects
    console.log("files: " + file_list.length);

    // get the file object 
    window.resolveLocalFileSystemURL(imageURI, function(fileEntry) {
                fileEntry.file(function(fileObj)  
    {                               
        fileuploadShow("input.caseFormText.caseFormPhotoBtn");      
        // add the image
        var capturedImg = new Object();
            capturedImg.status = 0;
            capturedImg.name = fileEntry.name;
            capturedImg.path = fileEntry.fullPath;
            capturedImg.size = fileObj.size;
            capturedImg.filetype = "image.jpeg";
            capturedImg.ext = "jpg";
            capturedImg.AU = AU;
            capturedImg.file = fileObj;

               console.log("set image object to upload: " + capturedImg.path);      

            file_list.push(capturedImg);

        console.log("files: " + file_list.length);
            console.log("imgUpload ... imagedata path: " + file_list[0].path);
            console.log("imgUpload ... imagedata name: " + file_list[0].name);
            console.log("imgUpload ... imagedata status: " + file_list[0].status);
                    console.log("imgUpload ... imagedata size: " + file_list[0].size);
            console.log("imgUpload ... imagedata filetype: " + file_list[0].filetype);
            console.log("imgUpload ... imagedata ext: " + file_list[0].ext);
            console.log("imgUpload ... imagedata file: " + JSON.stringify(file_list[0].file));

            console.log("file added to filelist: " + file_list.length);

            var files = $("#imgUploadArea").ajaxupload('getFiles');
            console.log(JSON.stringify(files));
            //$("#imgUploadArea").ajaxupload.('renderHtml');
            //$("#imgUploadArea").ajaxupload('start');

        });
    });
}

function onPhotoFail(message) {
    alert('Photo failed because: ' + message);
}
</code>

ドン

4

0 に答える 0