Файл ColdfusionЗагрузить cfDocument - PullRequest
0 голосов
/ 22 февраля 2019

Я создаю PDF с помощью cfDocument и пытаюсь загрузить его на свой сервер с помощью fileUpload, но он выдает ошибку: ByteArray objects cannot be converted to strings.

Вот мой код:

// Create PDF
formPdf = "";
cfDocument(format="PDF", name="formPdf") { writeOutput(formContent); };

// Upload the PDF
destination = expandPath("./MyFolder/#ID#/");
if(!directoryExists(destination)){
    directoryCreate(destination);
}
fileUpload( destination, formPdf, "*.", "MakeUnique" );

fileUpload () работает только со строкой?Как я могу загрузить файл PDF, который я только что создал?

Спасибо

1 Ответ

0 голосов
/ 22 февраля 2019

Для того, что вы просите, нет необходимости загружать файл, так как он уже находится на вашем сервере, и cfdocument может обрабатывать создание и сохранение файла PDF.

См. https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-d-e/cfdocument.html для получения дополнительной информации о cfdocument.cfdocument предназначен для создания PDF из форматированного ввода.

Требуется атрибут filename cfdocument.Это определяет путь к файлу, который будет содержать выходные данные.

Вам понадобится что-то вроде:

destination = expandPath("./MyFolder/#ID#/");
if(!directoryExists(destination)){
    directoryCreate(destination); 
}

pdfName = "calculatedPDFName.pdf" ;

// Create PDF 
cfdocument(format="PDF", filename="#destination#/#pdfName#") {
    writeOutput( sanitizeMe(formContent) ) ;   
};

Я включил sanitizeMe() в качестве напоминания, чтобы очистить любой ввод формы, прежде чем использовать его или предоставить его обратно, или ОСОБЕННО перед тем, как сохранить его обратно в файловую систему.Это ничего не делает, но что-то там должно.Существует около миллиарда дискуссий по поводу того, как и зачем это делать.

ПРИМЕЧАНИЕ. Я собирался связать пару страниц, на которых говорилось о XSS и других проблемах с внедрением, и первой, которая появилась, была ссылка на SO. В ColdFusion Как устранить уязвимость для межсайтового скрипта Когда я посмотрел свысока на ответ, я понял, что это был мой ответ с прошлого года.Должен любить, когда это произойдет.: -)

...