<cffileupload> и вставка базы данных имени файла - PullRequest
0 голосов
/ 22 декабря 2010

У меня проблема с тэгом cffileupload, а затем вставляю имена файлов, загруженных в базу данных.Кажется, что на странице CF Action нет хуков, которые бы указывали, если он был успешным, если файл был переименован, каково новое имя файла, и

По сути, я хочу, чтобы пользователь могзагружать несколько файлов (до 10) без тайм-аута и сохранять имена файлов в базе данных.

Любые предложения приветствуются!Я покопался в интернете, и элегантных решений, похоже, не было.

1 Ответ

1 голос
/ 22 декабря 2010

После обработки файлаСуществует огромное количество информации, доступной через переменную, указанную в «результате».Это включает в себя исходное имя файла, размер файла и показатель успеха. Документы Adobe на cffile содержат подробности.Лучше всего создать временный файл, отправить туда загрузку через cffile, оценить успех или неудачу, а затем отправить его в базу данных.Что-то вроде:

<cfset TemporaryFile = GetTempFile(GetTempDirectory(), "myAppTemp") />
<cffile action="upload" destination="#TemporaryFile#"
        fileField="filefield" result="FileResults" />

Затем вы можете получить доступ к вашему файлу через переменную TemporaryFile , а имя файла через FileResults.clientFile . FileResults.fileWasSaved должен указывать на успешную или неудачную загрузку и последующее сохранение на диск.

...