簡體   English   中英

如何使用 js 或 axios 將表單數據中的 url 作為文件發送

[英]How to send a url in form-data as a file using js or axios

我正在使用 vuejs 和 axios 將表單數據發送到 somelink。文件未發送並且出現錯誤

The parameter 'file' had the following problems: file transferred without multipart should be base64 encoded

我確實更改了 data.append('file', url) 並添加了另一個參數,例如 data.append('file', url,{type:'pdf'}) 但后來我收到一個錯誤,說第二個參數不是一團。 我知道這個問題是因為我在文件中使用了 url 而這我無法更改,因為正在發送文件的 api 文檔要求發送帶有文件的表單數據所以我試圖用實時 Z572D4E421E5E6B97118A 替換文件

var data = new FormData();
        var url= 'https://storage.cloudconvert.com/xxxxx.pdf';
        data.append('name','file')
        data.append('filename', 'amjad');
        data.append('file', url);
        data.append('saved', 'true');
        data.append('type', 'pdf');
        axios.post('myapiurl',data, {
            headers: {
                'Content-Type': 'multipart/form-data'
            },

        }).then(res => {
            console.log(res);
        })

嘗試打開文件然后對其進行編碼..像這樣的東西..

 function getPdf(){
        // read text from URL location
        var request = new XMLHttpRequest();
        request.open('GET', 'https://storage.cloudconvert.com/xxxxx.pdf', true);
        request.send(null);
        request.onreadystatechange = function () {
            if (request.readyState === 4 && request.status === 200) {
                var type = request.getResponseHeader('Content-Type');
                if (type.indexOf("pdf") !== 1) {
                    return request.responseText;
                }
            }
        }
    }
// Encode the String
    var pdf = btoa(getPdf()); 
    
    
    var data = new FormData();
           
            data.append('name','file')
            data.append('filename', 'amjad');
            data.append('file', pdf);
            data.append('saved', 'true');
            data.append('type', 'pdf');
            axios.post('myapiurl',data, {
                headers: {
                    'Content-Type': 'multipart/form-data'
                },
    
            }).then(res => {
                console.log(res);
            })

暫無
暫無

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

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