CFFILE Write- Как сделать уникальным, если есть конфликт?

Любая идея, почему CFFILE Write не поддерживает создание уникального файла, а CFFile Upload поддерживает?

Я использую CFFILE Write для обработки GetHttpRequestData, и возможность сделать его уникальным была бы очень полезной. Есть идеи?


person WozPoz    schedule 25.07.2010    source источник


Ответы (3)


Ну, это не так. Вам придется свернуть свои собственные уникальные имена, сначала проверив, существует ли файл, и если он существует, затем добавьте несколько дополнительных символов и повторяйте проверку/добавление, пока не найдете что-то уникальное.

В качестве альтернативы вы всегда добавляете что-то, что должно быть довольно уникальным (например, число даты-времени-инкремент).

person Gert Grenander    schedule 25.07.2010
comment
Герт Г прав. Вы должны свернуть свой собственный. Но IMO всегда полезно сначала проверить cflib.org. Для большинства задач вы обнаружите, что кто-то уже написал для этого функцию... По крайней мере, такую, которую вы можете адаптировать под свои нужды. cflib.org/udf/createUniqueFileName - person Leigh; 26.07.2010

попробуй что-нибудь вроде этого

<cfscript>
    i = 1;
    myPath = 'D:\webroot\sap\returns\log';
    myFileName = orderNumber;
</cfscript>
<cfloop condition="fileExists('#myPath#\#myFileName#.xml')">
    <cfscript>
        myFileName = '#orderNumber#_#i#';
        i += 1;
    </cfscript>
    <cfif i GT 100><cfbreak /></cfif>
</cfloop>

<cffile action="write" file="#myPath#\#myFileName#.xml" output="#xmlString#"  />
person Rob D.    schedule 17.10.2012
comment
Да, в основном это подход, используемый createUniqueFileName. «Должен» любить cflib.org. - person Leigh; 18.10.2012

Как насчет использования CreateUUID() в качестве имени файла?

person PPShein    schedule 26.07.2010