为了账号安全,请及时绑定邮箱和手机立即绑定

如何在javascript中将.zip文件编码为base64?

如何在javascript中将.zip文件编码为base64?

PHP
森栏 2023-09-08 21:58:16
我需要在客户端以 base64 格式编码 .zip 文件并将其发送到服务器(php)。但是,我在 javascript 中找不到任何解决方案。我试试这个:let zipFile = document.getElementById('fileReciever').files[0];let formData = new FormData();formData.append('id', btoa('7804044924'));formData.append('data', btoa(zipFile));let req = new XMLHttpRequest();req.open("POST", 'http://localhost/xmlReader/reciever.php');req.send(formData);但通过这种方式,我在服务器上归档的“数据”中的 $_POST 中只得到 bse64 字符串,通过字符串“[object File]”中的 base64_decode 进行转换,而我在 $_FILES 中什么也没有得到。如何正确地将.zip数据文件转换为javascript中的base64字符串并将其发送到服务器上?
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

您可以通过这种方式获取文件的 base64。只需像在 POST 请求中发送一样发送字符串即可。

function previewFile() {

  const file = document.querySelector('input[type=file]').files[0];

  const reader = new FileReader();


  reader.addEventListener("load", function () {

    // convert file to base64 string using reader.result

    document.querySelector('p').innerHTML=reader.result;

  }, false);


  if (file) {

    reader.readAsDataURL(file);

  }

}

<!DOCTYPE html>

<html>

<body>


<p>Base 64 string here. You might want to trim </p>

<input type="file" onchange="previewFile()"><br>


<script>


</script>



</body>

</html>


查看完整回答
反对 回复 2023-09-08
  • 1 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信