3
我有一個的呼喚一個_getFile功能如何從瀏覽器發送文件到遠程IPFS網關
<input type="file" class="file" on-change="_getFile"/>
獲取文件
_getFile(event) {
this.loading = true;
const file = event.target.files[0];
let reader = new window.FileReader()
reader.onloadend =() => this._saveToIpfs(reader)
reader.readAsArrayBuffer(file)
}
}
輸入字段,一旦我們有一個數組緩存我們然後調用...
_saveToIpfs(data){
}
這是我需要幫助,我想發送選擇的文件'https://ipfs.infura.io:5001/api/v0/add'或'https://ipfs.io/api/v0/add'怎麼辦?這是一個xhr後?我希望得到一個IPFS哈希回
下面的簡單形式,似乎要上傳的文件,然後斷開連接,並顯示錯誤ERR_CONTENT_LENGTH_MISMATCH
<form action="https://ipfs.io/api/v0/add/" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
我ASO嘗試了經典XHR
_getFile(event) {
const file = event.target.files[0];
var data = new FormData();
data.append('path', event.target.files[0]);
var request = new XMLHttpRequest();
request.onreadystatechange = function(){
if(request.readyState == 4){
console.log(request.response)
}
};
request.open('POST', 'https://ipfs.io/api/v0/add');
request.send(data);
}
與再次ERR_CONTENT_LENGTH_MISMATCH