2008-10-01 7 views
2

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

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

ответ

2

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

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

0

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

1

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

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