我正在将一些 java 代码转换为 ColdFusion。除了本节之外,我已经弄清楚了大部分内容:
String passKey = "D:\\tmp\\passbook\\key\\pass.p12";
String password = "";
String appleFile = "D:\\tmp\\passbook\\key\\AppleWWDRCA.pem";
String pathToTemplateDirectory = "D:/tmp/passbook/t";
PKSigningInformation pkSigningInformation =
PKSigningUtil.loadSigningInformationFromPKCS12FileAndIntermediateCertificateFile(passKey, password, appleFile);
byte[] passZipAsByteArray = PKSigningUtil.createSignedAndZippedPkPassArchive(pass, pathToTemplateDirectory, pkSigningInformation);
FileUtils.forceDelete(new File("D:\\workspace\\emms_maven\\src\\main\\webapp\\WEB-INF\\passbook\\new.pkpass"));
FileUtils.writeByteArrayToFile(new File("D:\\workspace\\emms_maven\\src\\main\\webapp\\WEB-INF\\passbook\\new.pkpass"),
passZipAsByteArray);
在这些方面我被困住了。基本上我正在寻找 ColdFusion 中的 forceDelete
和 writeByteArrayToFile
的等效项。有什么想法吗?
FileUtils.forceDelete(new File("D:\\workspace\\emms_maven\\src\\main\\webapp\\WEB-INF\\passbook\\new.pkpass"));
FileUtils.writeByteArrayToFile(new File("D:\\workspace\\emms_maven\\src\\main\\webapp\\WEB-INF\\passbook\\new.pkpass"),
passZipAsByteArray);
最佳答案
这两行只是删除一个文件,然后将二进制文件写入同一个文件。由于CF有删除和写入文件的功能,所以我只使用它的常规文件功能:
<cfset passZipAsByteArray = {}>
<cfset passZipAsByteArray = PKSigningUtil.createSignedAndZippedPkPassArchive(
pass, pathToTemplateDirectory,
pkSigningInformation) />
<cffile action="write"
file="#pathToTemplateDirectory#/#createUUID()#.pkpass"
output="#passZipAsByteArray#">
关于Java FileUtils.writeByteArrayToFile 在 Coldfusion 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48587677/