Пользователь отправляет файл из внешней HTML-формы, в котором есть такие поля, как Отдел, Название отдела, Номер отдела, Номер раздела, Год, адрес электронной почты, Телефон и т. Д. В отправляемом файле может быть задано имя пользователя.Но когда он загружен, я хочу, чтобы он был назван Departmentname_departmentnumber_sectionnumber
.
Итак, если отдел - Accounting
, номер отдела - 123
, а раздел - 1
, имя файла будет Accounting_123_1.doc
.Расширением будет файл любого типа (текстовый, MS-Word .doc или .docx, PDF или RTF), и пользователь может загружать вложения файлов только с расширением .txt, .doc, .docx, pdf, rtf.
Кроме того, я хочу, чтобы он хранился в определенном месте на сервере.Таким образом, если подразделение занимается корпоративными финансами, а год - 2011-2012, его следует хранить на сервере по адресу "E:\Files Submitted\2011-2012\Corporate Finance\"
.Часть "E:\Files Submitted\"
остается неизменной в имени каталога.
<cfset submittedfileName = #form.departmentname#&"_"&#form.departmentnumber#&"_"&#form.section_number_1#&"."&#cffile.ClientFileExt#>
<cfset filedirectoryYear = "E:\Files Submitted\"&#form.current_year#&"\"&#form.division#&"\">
<!--- ensure that the user uploads attachments of type with extension .txt, .doc, .docx, pdf, rtf only--->
<cfif FORM.attachment_1 neq "">
<cffile action="upload"
accept="text/plain,application/msword,application/pdf,application/rtf"
filefield="attachment_1"
destination="E:\temp\uploads"
nameconflict="Makeunique"
>
<!--- rename the file and move it to permanent destination --->
<cffile action="rename"
source="E:\temp\uploads\#cffile.serverFileName#"
destination=#filedirectoryYear#&#submittedfileName#&#cffile.ClientFileExt#
>
<!--- now create a temporary variable for the attachment so that it can be emailed later on --->
<cfset attachment_local_file_1 = #filedirectoryYear#&#submittedfileName#&#cffile.ClientFileExt#>
</cfif>
Я использовал cffile.ClientFileExt
, поскольку файлы загружались без расширения, но я получаю сообщение об ошибке в destination=#filedirectoryYear#&#submittedfileName#&#cffile.ClientFileExt#
как
"multiple items at this position: Missing Token > or />
Я использую Coldfusion 8. Будем благодарны за любые предложения о том, где я ошибаюсь и как я могу это исправить.