У меня возникли проблемы с загрузкой сгенерированного файла PhantomJS в мое приложение asp.net. Я запускаю phantomJs как сервер: Файл создается корректно и сохраняется на диске в папке PhantomJS, но что-то происходит во время передачи и включения в поток ответов HTTP. Файл загружается браузером, но когда я пытаюсь его открыть, ошибки файла с сообщением, что он не может быть открыт. Я подозреваю, что он поврежден в потоковой передаче?Проблемы с загрузкой PhantomJS pdf
Я хотел бы избежать чтения PDF из его сохраненного места в файловой системе, и вместо того, чтобы получить его из ответа вернулся из PhantomJS
PhantomJS код: код
page.open(url, function (status) {
page.render(fullFileName);
var fs = require('fs');
var pdfContent = fs.read(fullFileName);
response.statusCode = 200;
response.headers = {
'Cache': 'no-cache',
'Content-Type': 'application/pdf',
'Connection': 'Keep-Alive',
'Content-Length': pdfContent.length
};
response.setEncoding("binary");
response.write(pdfContent);
});
ASP.NET :
public ActionResult DownloadPdfFromUrl(ConvertionModel model)
{
HttpWebRequest httpWReq = (HttpWebRequest)WebRequest.Create("http://localhost:8080");
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = string.Format("url={0}&fileName=myTest&extension=pdf&format=pdf", model.UrlToConvertPdf);
byte[] data = encoding.GetBytes(postData);
httpWReq.Method = "POST";
httpWReq.ContentType = "application/x-www-form-urlencoded";
httpWReq.ContentLength = data.Length;
using (Stream s = httpWReq.GetRequestStream())
{
s.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)httpWReq.GetResponse();
Response.AppendHeader("Content-Disposition", "attachment;filename=test.pdf");
return new FileStreamResult(response.GetResponseStream(), "application/pdf");
}
Да я обновил его, чтобы вернуть FileStreamResult, чтобы избежать буфера парсинга/нулевое значение, возвращаемое – TGH
я experiementing с двоичной опцией (обновленный вопрос). С этой настройкой я могу открыть загруженный pdf-файл, но он открывается как пустой pdf с только белым фоном. – TGH
И загружает ли pdf-файл того же размера и контента, что и на сервере? –