Есть ли способ заставить cffile.oldFileSize возвращать правильное значение?

StackOverflow https://stackoverflow.com/questions/159881

  •  03-07-2019
  •  | 
  •  

Вопрос

При работе с cffile в ColdFusion после загрузки файла на веб-сервер создается структура cffile, которая должна иметь значение под названием «oldFileSize».Каждый раз, когда я загружаю и проверяю это значение, оно имеет размер нового файла, а не размера перезаписанного файла.Есть ли где-нибудь настройка, чтобы это исправить, или это ошибка в cffile в cf8?

Уточнение:Если вы используете команду cffile для загрузки файла на сервер, он попытается сохранить этот файл в том месте, которое вы указали в команде.Если в месте назначения уже есть файл с таким же именем и путем, то одна из опций вашей команды cffile может сделать ставку на перезапись любого существующего файла.Если вы это сделаете, будет возвращена структура с именем cffile с атрибутом «oldFileSize».В документации указано, что oldFileSize должен соответствовать размеру перезаписанного файла.Вместо этого он возвращает размер загружаемого файла.

Это было полезно?

Решение

Если атрибут oldfilesize возвращается неправильно, я бы использовал nameconflict=unique, чтобы сохранить старый файл.Затем вы можете использовать cfdirectory для проверки старого файла и cffile action="delete" и action="rename" для замены старого файла, так что вы по существу перезапишете старый файл только вручную.

Немного работы, но если вам нужна информация....

Другие советы

Бен Дум прав насчет обхода проблемы, но если вы не видите задокументированного поведения, это ошибка, и вы должны сообщить об этом! В настоящее время не существует общедоступной системы отслеживания ошибок, в которую вы могли бы отправить сообщение (хотя есть желание создать такую ​​систему, и мы, вероятно, скоро ее увидим), поэтому стандартом де-факто является публикация ее в качестве комментария на странице документации.

Сотрудники Adobe читают комментарии и отвечают на них, и они, скорее всего, либо ответят, что это будет исправлено, либо признают, что это ошибка, но укажут, что в настоящее время не планируется ее исправление.В любом случае, ответственным делом будет сообщить об ошибке.

Какой перезаписанный файл?Кажется, вы говорите о двух файлах, хотя ссылаетесь только на один.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top