簡體   English   中英

JS FileReader ArrayBuffer傳遞給Byte []以傳遞文件的內容

[英]JS FileReader ArrayBuffer to Byte[] to pass contents of a file

我的應用程序中有一個文件上傳區域,它允許上傳圖像,.doc,.docx和pdf。

我需要將byte []中文件的內容傳遞給我的api,以便它可以存儲文件。

我試圖從ArrayBuffer轉換為Uint8Array,但是我沒有成功。

這是我的代碼,用於讀取文件並獲取必需的信息

任何幫助,將不勝感激。

           let myFile = ev.target.files[0];
            if(myFile.size > 0){
                let reader = new FileReader();
                var fileByteArray = [];
                reader.readAsArrayBuffer(myFile);
                reader.onloadend = (ev) => {                    
                        var uintArray = new Uint8Array(reader.result.toString().length);
                        //var arrayBuffer = new ArrayBuffer(reader.result);
                        //var array = new Uint8Array(arrayBuffer);
                    let resourceModel = new AddForumThreadResourceRequestModel({
                        contentType: myFile.type,
                        fileName: myFile.name,
                        fileContent: uintArray
                    });                   
                    console.log(resourceModel);
                    this.forumApi.AddThreadResource(resourceModel).subscribe(
                        data => {
                            if(data != null || data == true){
                                this.errorCtrl.presentToast("New resource has been added to the thread"); 
                        }                                    
                    });

            }   

嘗試使用load事件的參數:

reader.onload = (e) => {                           
    var uintArray = new Uint8Array(reader.result);

    let resourceModel = new AddForumThreadResourceRequestModel({
        contentType: myFile.type,
        fileName: myFile.name,
        fileContent: uintArray
    });                    
    console.log(resourceModel);
    this.forumApi.AddThreadResource(resourceModel)
        .subscribe( data => {
            if(data != null || data == true){
                this.errorCtrl.presentToast("New resource has been added to the thread"); 
            }                                    
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM