Existe uma maneira de fazer cffile.oldFileSize retornar um valor correto?
-
03-07-2019 - |
Pergunta
Ao trabalhar com cffile no ColdFusion, depois de um upload de um arquivo para um servidor web, a estrutura cffile é criado que é suposto ter um valor no que chamou de "oldFileSize". Toda vez que faço um upload e examinar esse valor, ele tem o tamanho do novo arquivo, e não o tamanho do arquivo substituído. Existe alguma configuração em algum lugar para corrigir isso ou isso é um bug no cffile em CF8?
Esclarecimento: Se você usar o comando cffile para carregar um arquivo para um servidor, ele tentará armazenar esse arquivo no local que você diga a ele no comando. Se o destino já possui um arquivo de lá com o mesmo nome e caminho, em seguida, uma das opções em seu comando cffile pode apostar para substituir qualquer arquivo existente. Se você fizer isso, a estrutura é retornada chamado cffile com um atributo chamado "oldFileSize". A documentação indica que oldFileSize deve ser o tamanho do arquivo que foi substituído. Em vez disso, ele está retornando o tamanho do arquivo que está sendo carregado.
Solução
Se o atributo oldfilesize não está retornando corretamente, eu usaria nameconflict = exclusivo para preservar o arquivo antigo. Então, você pode usar cfdirectory para verificar a antiga filesize, e ação cffile = "Excluir" e action = "Renomear" para substituir o arquivo antigo, para que você tenha essencialmente substituído o arquivo antigo, apenas manualmente.
Um pouco de trabalho, mas se você precisar a informação ....
Outras dicas
Ben Doom é correta sobre o trabalho em torno do problema, mas se você não está vendo o comportamento documentado, isso é um bug e você deve relatá-lo! Atualmente, não há nenhum bug tracker público pode submeter-se (embora não haja um impulso para um e nós provavelmente deve vê-lo em breve-ish), de modo que o padrão de fato é publicá-la como um comentário na página de documentação.
pessoalAdobe não ler e responder aos comentários e eles vão provavelmente quer responder que ele será corrigido, ou reconhecer que é um bug, mas indicam que não há plano para corrigi-lo neste momento. De qualquer maneira, a coisa responsável a fazer é relatar o bug .
? Parece que você está falando de dois arquivos quando você se refere apenas a um.