将byte[]转换为文件javascript



我有javascript中的字节数组。如何将此数组转换为文件进行上传?

创建如下文件

new File([you byte here], 'name of your file', { type: 'you extention', lastModified: new Date() });
if the your byte is string 
  new File([this.base64ToArrayBuffer(you string)], 'file name', { type: this.handleFileDataType(DocExtension), lastModified: new Date() });

 base64ToArrayBuffer = (base64) => {
    var binaryString = window.atob(base64);
    var binaryLen = binaryString.length;
    var bytes = new Uint8Array(binaryLen);
    for (var i = 0; i < binaryLen; i++) {
      var ascii = binaryString.charCodeAt(i);
      bytes[i] = ascii;
    }
    return bytes;
  }

 handleFileDataType = ext => {
    switch (ext) {
      case 'pdf':
        return 'application/pdf';
      case 'jpg':
        return 'image/jpeg';
      case 'jpeg':
        return 'image/jpeg';
      case 'png':
        return 'image/png';
      case 'tiff':
        return 'image/tiff';
      case 'docx':
        return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
    }
  };

我从你的问题中得到的是你有一个字节数组,你想把这些字节数组写入一个文件并上传到服务器。

不,这在JavaScript中是不可能的,因为JavaScript无法访问写入文件,因为这将是一个巨大的安全风险。

相关内容

  • 没有找到相关文章

最新更新