文件重命名和上传是计算机系统中常见的文件操作,涉及本地文件系统和网络传输两个主要方面。
实现方法:
mv
(Unix/Linux), ren
(Windows)os.rename()
File.renameTo()
fs.rename()
示例代码:
import os
# 重命名文件
old_name = "old_file.txt"
new_name = "new_file.txt"
try:
os.rename(old_name, new_name)
print(f"文件已从 {old_name} 重命名为 {new_name}")
except FileNotFoundError:
print("原文件不存在")
except FileExistsError:
print("目标文件名已存在")
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload">
<input type="submit" value="上传文件">
</form>
const fileInput = document.querySelector('input[type="file"]');
const formData = new FormData();
formData.append('file', fileInput.files[0]);
fetch('/upload', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
// 将文件分割为多个块并逐个上传
async function uploadInChunks(file, chunkSize = 5 * 1024 * 1024) {
const totalChunks = Math.ceil(file.size / chunkSize);
for (let i = 0; i < totalChunks; i++) {
const chunk = file.slice(i * chunkSize, (i + 1) * chunkSize);
const formData = new FormData();
formData.append('file', chunk);
formData.append('chunkIndex', i);
formData.append('totalChunks', totalChunks);
formData.append('fileId', file.name + '-' + file.size);
await fetch('/upload-chunk', {
method: 'POST',
body: formData
});
}
// 通知服务器合并所有分片
await fetch('/merge-chunks', {
method: 'POST',
body: JSON.stringify({
fileId: file.name + '-' + file.size,
fileName: file.name
}),
headers: {
'Content-Type': 'application/json'
}
});
}
\ / : * ? " < > |
)upload_max_filesize
)文件重命名和上传是Web开发中的基础功能,合理实现可以显著提升用户体验和系统安全性。
没有搜到相关的文章