Существует ли cfscript эквивалент для cffile действия = "загрузка" в ColdFusion 9? При просмотре документов, там, кажется, не.
[Обновление] Это было добавлено в 9.0.1 обновлениях http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSd160b5fdf5100e8f36f73035129d9e70a92-8000.html
Вы можете легко абстрагироваться от него с помощью пользовательской функции.
<cffunction name="fileuploader">
<cfargument name="formfield" required="yes" hint="form field that contains the uploaded file">
<cfargument name="dest" required="yes" hint="folder to save file. relative to web root">
<cfargument name="conflict" required="no" type="string" default="MakeUnique">
<cfargument name="mimeTypesList" required="no" type="string" hint="mime types allowed to be uploaded" default="image/jpg,image/jpeg,image/gif,image/png,application/pdf,application/excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation,application/vnd.ms-excel,image/pjpeg">
<cffile action="upload" fileField="#arguments.formField#" destination="#arguments.dest#" accept="#arguments.mimeTypesList#" nameConflict="#arguments.conflict#">
<cfreturn cffile>
</cffunction>
А затем используйте его в cfscript:
<cfscript>
// NOTE: because of how cffile works, put the form field with the file in quotes.
result = fileUploader("FORM.myfield", myDestPath);
WriteOutput(result.fileWasSaved);
</cfscript>
Примечание: я бы очень осторожно переименовал эту функцию, если Adobe все же включит эту функцию в будущем.
Решение о том, как именно разрушить ваше решение, субъективно - и это действительно зависит от специфики вашего кода.
Однако ясно одно: поддержание нескольких сборок имеет недостатки! Эта статья особенно хорошо описывает эти недостатки, наблюдая, как они увеличивают затраты во время разработки, компилируют время, время развертывания и время выполнения.
Я использую как можно меньше сборок, стремясь создать одну сборку, изолируя изменчивые области домена. Когда несколько сборок являются явно подходящими или необходимыми (и они часто используются, особенно для обеспечения разъединения), я делаю все возможное, чтобы сгруппировать интерфейсы, которые будут одновременно изменяться, в одни и те же сборки.
-121--4585713-Есть плюсы и минусы для обоих подходов, которые нужно лично решить между для вашего собственного обстоятельства.
Pro для нескольких проектов:
Минусы для нескольких проектов:
Лично я думаю, что плюсы намного перевешивают минусы в большинстве случаев. Обычно я разделяю свои пространства имен на отдельные сборки, если они не связаны между собой. В вашем случае, вы работаете над 4 очень разными концепциями, так что мое чувство в том, что расщепление имеет наибольший смысл.
-121--4585708-Нет, но запрос получен.