gpt4 book ai didi

javascript - React Native 从任意数据创建 blob

转载 作者:行者123 更新时间:2023-11-29 18:40:40 37 4
gpt4 key购买 nike

我有一个 React Native (0.59) 应用程序,它使用一个(Swagger 生成的)SDK,该 SDK 接受 Blob 对象进行文件上传。虽然有关于从远程资源创建 blob 的资源(例如使用 fetch),但我找不到任何关于动态创建 blob 的资源。例如我有一个字符串(常规 JS 字符串),我需要将该字符串作为文本文件上传到服务器。我还将从文件系统中获得其他文件引用,我也需要将其上传。

如何在 React Native 中根据任意类型的数据创建 Blob?

最佳答案

你试过react-native中的rn-fetch-blob包吗?我使用这个包通过 firebase 上传图像如下,它可能对你有帮助。

import { firebase } from '../config';
import { Platform } from 'react-native';
import RNFetchBlob from 'react-native-fetch-blob';

const Blob = RNFetchBlob.polyfill.Blob;
const fs = RNFetchBlob.fs;

window.XMLHttpRequest = RNFetchBlob.polyfill.XMLHttpRequest;
window.Blob = Blob;

export const uploadImage = (uri, mime, uid) => {
return new Promise((resolve, reject) => {
const uploadUri = Platform.OS === 'ios' ? uri.replace('file://', '') : uri;

let uploadBlob = null;

const imageRef = firebase
.storage()
.ref('profileImg')
.child(uid);
fs.readFile(uploadUri, 'base64')
.then(data => {
return Blob.build(data, { type: `${mime};BASE64` });
})
.then(blob => {
uploadBlob = blob;
return imageRef.put(uploadUri, { contentType: mime });
})
.then(() => {
uploadBlob.close();
return imageRef.getDownloadURL();
})
.then(url => {
resolve(url);
})
.catch(error => {
reject(error);
});
});
};

关于javascript - React Native 从任意数据创建 blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57314070/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com