我正在使用GoServer上传文件。我可以将文件转换为base64。之后,我想将其转换为Blob (https://developer.mozilla.org/en-US/docs/Web/API/Blob)。
在JS中我会这样做,但在GoLang中找不到等效的数据类型。
const b64toBlob = (b64Data, contentType, sliceSize) => { const byteCharacters = atob(b64Data); const byteArrays = []; for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) { const slice = byteCharacters.slice(offset, offset + sliceSize); const byteNumbers = new Array(slice.length); for (let i = 0; i < slice.length; i++) { byteNumbers[i] = slice.charCodeAt(i); } const byteArray = new Uint8Array(byteNumbers); byteArrays.push(byteArray); } const blob = new Blob(byteArrays, { type: contentType } ); return blob; }
检查在项目realPy/hogosuru
中,blob
包是否能够实现您所需要的。
它有一个BlobStream
结构体
type BlobStream struct {
Blob
cur int64
buffersize int64
size int64
}