JavaScript 文件上传与下载

138 阅读1分钟

没什么好说的上 鸭子 代码。

上传文件

function upload() {
  const el = document.createElement("input");
  el.type = "file";
  el.accept = ".后缀"; // 上传文件的后缀
  el.style.display = "none";
  el.onchange = () => {
    if (el.files.length > 0) {
      const fileReader = new FileReader();
      fileReader.onload = () => {
        const buffer = fileReader.result;
        console.log(buffer); // 上传文件内容
      };
      fileReader.readAsArrayBuffer(el.files[0]);
    }
  };
  el.click();
}

读取文件内容

  • readAsArrayBuffer()
  • readAsBinaryString()
  • readAsDataURL()
  • readAsText()

下载文件

function download() {
    const buffer = "下载文件的内存";
    const projectBlob = new Blob([buffer]);
    const el = document.createElement("a");
    const fileName = "下载文件名称";
    el.download = fileName + ".后缀";
    el.href = URL.createObjectURL(projectBlob);
    document.body.appendChild(el);
    el.click();
    document.body.removeChild(el);
}