Работа на странице, которая отображает Стандартные рабочие процедуры (SOP) и позволяет не администратору загружать SOP в файл PDF.Клиенты решили, что они не хотят, чтобы администраторы ограничивались загрузкой только файлов PDF, и им нужна возможность загружать файлы .doc и .docx.Мне нужна ссылка на скачивание для создания PDF.
Прямо сейчас загрузка либо .doc / .docx, либо .pdf будет отображаться так, как я хочу, используя Google Viewer.Но когда я пытаюсь загрузить тестовый файл, его нельзя открыть, если загруженные файлы были .doc / .docx.Я просмотрел это и уверен, что упускаю что-то глупое.
Я использую cfdocumnet , как было предложено по другому вопросу.
Ссылка для скачивания:
<cfoutput>
<li class="active">
<ahref="/files/SOP/SOP.pdf"
download="SOP.pdf" target="_blank">Download SOP</a>
</li>
</cfoutput>
Проверка для администратора (переменная создается в другом месте) и формы для загрузки файла:
<cfif isAdmin>
<h3>Upload New SOP</h3>
<cfparam name="form.fileUpload" default="">
<cftry>
<cffile action="upload"
fileField="fileUpload"
destination="#expandPath('.')#\files\SOP\"
accept="application/pdf,
application/msword,
application/vnd.openxmlformats-officedocument.wordprocessingml.document,
application/x-tika-msoffice"
nameconflict="OVERWRITE">
<cfset fileName=CFFILE.serverfile>
<cfdocument
format="PDF"
srcfile="#expandPath('.')#\files\SOP\#fileName#"
filename="#expandPath('.')#\files\SOP\SOP.pdf"
overwrite="YES">
</cfdocument>
<p>Thank you, your file has been uploaded.</p>
<cfoutput>#fileName#</cfoutput>
<form enctype="multipart/form-data" method="post">
<input type="file" name="fileUpload"/>
<input type="submit" name="submit" value="Upload File"/>
</form>
<cfcatch type="any">
<!--- file is not written to disk if error is thrown --->
<!--- prevent zero length files --->
<cfif FindNoCase("No data was received in the uploaded", cfcatch.message)>
<p>No data was received in the uploaded file.</p>
<!--- prevent invalid file types --->
<cfelseif FindNoCase("The MIME type or the Extension of the uploaded file", cfcatch.message)>
<p>Invalid file type. Please upload file as a PDF or Word Doc</p>
<!--- prevent empty form field --->
<cfelseif FindNoCase("did not contain a file.", cfcatch.message)>
<p>Please seclect a PDF to upload.</p>
<!---all other errors --->
<cfelse>
<p>Unhandled File Upload Error</p>
<cflog type="Error" file="#application.applicationname#_dcnsopupload_error" text="#cfcatch.Message# - #cfcatch.Detail#" />
<cfoutput>#cfcatch.Detail#</cfoutput>
</cfif>
</cfcatch>
</cftry>
</cfif>
И на заметку, потому что я хочу, чтобы загружаемый .pdf имел имя "SOP.pdf", есть ли способ удалить загруженный пользователемфайл после переименования и преобразования?Просто на сервере нет 30 разных устаревших документов SOP.