这是一个mock上传txt文件的js例子:

// 模拟上传txt文件的函数
function uploadTxtFile(file) {
  return new Promise((resolve, reject) => {
    if (file.type !== 'text/plain') {
      reject(new Error('Invalid file type, only txt files are allowed.'));
    }

    // 模拟上传过程,这里使用setTimeout进行延迟操作
    setTimeout(() => {
      resolve({
        fileName: file.name,
        fileSize: file.size,
        fileType: file.type,
        fileUrl: 'https://example.com/file.txt'
      });
    }, 2000);
  });
}

// 模拟上传文件的事件处理函数
function handleFileUpload(event) {
  const file = event.target.files[0];
  if (!file) {
    return;
  }

  uploadTxtFile(file)
    .then((result) => {
      console.log('File uploaded successfully:', result);
      // 在页面上展示上传结果
      const resultElement = document.getElementById('uploadResult');
      resultElement.innerHTML = `
        <p>上传成功!</p>
        <p>文件名:${result.fileName}</p>
        <p>文件大小:${result.fileSize} bytes</p>
        <p>文件类型:${result.fileType}</p>
        <p>文件链接:<a href="${result.fileUrl}" target="_blank">${result.fileUrl}</a></p>
      `;
    })
    .catch((error) => {
      console.error('File upload failed:', error);
      // 在页面上展示上传错误信息
      const resultElement = document.getElementById('uploadResult');
      resultElement.innerHTML = `
        <p>上传失败!</p>
        <p>${error.message}</p>
      `;
    });
}

// 给上传文件的input元素添加change事件监听
const fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', handleFileUpload);

在这个例子中,我们定义了一个uploadTxtFile函数,它接受一个文件参数,返回一个Promise对象。在函数内部,我们首先判断文件类型是否为txt,如果不是则抛出一个错误。接着,我们使用setTimeout模拟上传过程,2秒后返回一个包含上传结果的对象。

然后,我们定义了一个handleFileUpload函数作为上传文件的事件处理函数,它会获取上传文件的input元素,调用uploadTxtFile函数进行上传,最后根据上传结果在页面上展示相应信息。

最后,在页面加载完成后,我们给上传文件的input元素添加了一个change事件监听,使得在选择文件后可以触发上传文件的操作。

mock一个上传txt文件的js

原文地址: https://www.cveoy.top/t/topic/bezb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录