ajaxFileUpload.js
是一個用于處理文件上傳的 JavaScript 庫。當多個文件具有相同的文件名時,可能會導致文件名沖突。為了解決這個問題,可以采取以下幾種方法:
function generateUniqueFileName(originalFileName) {
// 獲取文件擴展名
const fileExtension = originalFileName.split('.').pop();
// 生成一個基于時間戳的唯一標識符
const uniqueIdentifier = new Date().getTime();
// 將唯一標識符與原始文件名連接起來,形成新的文件名
const newFileName = `${uniqueIdentifier}_${originalFileName}`;
return newFileName;
}
const fileNameMap = {};
function uploadFile(file) {
if (fileNameMap[file.name]) {
// 如果文件名已存在,則生成一個新的唯一文件名
const newFileName = generateUniqueFileName(file.name);
file.name = newFileName;
}
// 上傳文件...
}
// 假設你有一個名為 upload.php 的 PHP 腳本,用于處理文件上傳
$targetDir = 'uploads/';
$targetFile = $targetDir . basename($_FILES["file"]["name"]);
// 檢查文件名是否已存在
if (file_exists($targetFile)) {
// 如果文件名已存在,則生成一個新的唯一文件名
$newFileName = generateUniqueFileName($_FILES["file"]["name"]);
$targetFile = $targetDir . $newFileName;
}
// 將文件移動到目標目錄
if (move_uploaded_file($_FILES["file"]["tmp_name"], $targetFile)) {
echo "The file " . htmlspecialchars(basename($_FILES["file"]["name"])) . " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
通過采用以上方法之一或組合使用這些方法,可以有效地解決 ajaxFileUpload.js
中文件名沖突的問題。