mock一个上传txt文件的js
这是一个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事件监听,使得在选择文件后可以触发上传文件的操作。
原文地址: https://www.cveoy.top/t/topic/bezb 著作权归作者所有。请勿转载和采集!