Вот базовая c загрузка файла с помощью makeUnique:
<cffile action = "upload"
destination = "#session.exploc#"
fileField = "form.theupload"
mode = '666'
accept = 'html'
strict = 'true'
result = 'ss'
nameConflict = "makeUnique">
Когда я загружаю файл с тем же именем, что и существующий файл, я могу подобрать новое имя следующим образом:
<cfset name = ss.ServerFileName>
Я загрузил файл worl1. html несколько раз и получил имена worl, worl12, worl13 и др. c. Затем я вышел из приложения и вернулся чуть позже.
Когда я снова загрузил worl1. html Я получил сообщение о том, что файл worl12 уже существует. Очевидно, что makeUnique проверяет только один раз и не проверяет последующие версии этого файла.
Кодирование вокруг этого кажется болезненным. Мне нужно будет загрузить каждый файл в фиктивное место, затем проверить себя, существует ли он в реальном месте, и переименовать его, если необходимо. Тогда мне придется удалить файл из фиктивного местоположения на случай, если следующий конфликт будет.
Может кто-нибудь предложить способ решения этой проблемы просто без большого количества дополнительного кода. По крайней мере, мне нужно перехватить ошибку и дать пользователю сообщение, которое он может понять. Но лучше уловить проблему и решить ее. Мне нужно, чтобы он работал в ColdFusion 10, но было бы неплохо, если бы он работал и в Lucee.