相关疑难解决方法(0)

在JavaScript中从base64字符串创建Blob

我在字符串中有base64编码的二进制数据.

const contentType = 'image/png';
const b64Data = 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';
Run Code Online (Sandbox Code Playgroud)

我想创建一个blob:包含此数据的URL并将其显示给用户.

const blob = new Blob(????, {type: contentType});
const blobUrl = URL.createObjectURL(blob);

window.location = blobUrl;
Run Code Online (Sandbox Code Playgroud)

我还没有弄清楚如何创建Blob.

在某些情况下,我可以通过使用data:URL 来避免这种情况.

const dataUrl = `data:${contentType};base64,${b64Data}`;

window.location = dataUrl;
Run Code Online (Sandbox Code Playgroud)

但是在大多数情况下,data:URL非常大.


如何Blob在JavaScript中将base64字符串解码为对象?

javascript base64

405
推荐指数
13
解决办法
39万
查看次数

数据协议URL大小限制

"data:"URL方案值是否有任何大小限制?我对流行的网络浏览器的局限感兴趣.换句话说,多久可以data:image/jpg;base64,base64_encoded_data成为<img src="data:image/jpg;base64,base64_encoded_data" />background-image: url(data:image/jpg;base64,base64_encoded_data)

html css

70
推荐指数
7
解决办法
5万
查看次数

在React-Native中使用base64编码的字符串播放视频

我使用base64编码格式和AES加密加密了一个视频文件.我逐流解密数据并附加/写入每个流(作为.mp4文件)以实现最终视频,但是需要花费大量时间来实现最终输出.

主要编辑:

我找到了资源html5-media-and-data-uri,它有助于播放a中的数据webview,但它不播放2,000,000+ base64字符的视频.

使用base64数据解密文件并在Web视图中初始化HTML代码的功能

decryptfile() {
RNFetchBlob.fs
  .readStream(
    RNFetchBlob.fs.dirs.DCIMDir + "/encryptfile1.dat",
    "base64",
    2796256, //character to be read at a time for decryption
    2500  // Time taken before each stream enters for decryption
  )
  .then(stream => {
    let data = "";
    stream.open();
    stream.onData(chunk => {
      var decipherText = simpleCrypto.decrypt(chunk.toString()); // Decryption
      decryptText = decryptText + decipherText; // appending decrypted data
    });
    stream.onEnd(() => {
      htmlCode =
        `<html>
           <body>
              <video style="width: 50%; height: 50%; margin-top: 10%; margin-left: …
Run Code Online (Sandbox Code Playgroud)

html android webview react-native react-native-android

12
推荐指数
1
解决办法
998
查看次数