-
-
Notifications
You must be signed in to change notification settings - Fork 485
Closed
Description
Getting below Error
info Unknown encountered on server. Message:'System.IO.IOException: Read-only file system : '/CustomChromium'
at System.IO.FileSystem.CreateDirectory(String fullPath)
at System.IO.Directory.CreateDirectory(String path)
at VisionPlus.DocumentGeneration_AWSLambda.Function.FunctionHandler(ReportModel report, ILambdaContext context) in /home/vsts/work/1/s/VisionPlus.DocumentGeneration_AWSLambda/Function.cs:line 196 Message: Read-only file system : '/CustomChromium'' when reading object
using (Stream responseStream = response.ResponseStream)
{
//LambdaLogger.Log("step 1");
var bytes = ReadStream(responseStream);
//LambdaLogger.Log("step 2");
if (this.loggerFactory == null)
this.loggerFactory = (ILoggerFactory)new LoggerFactory();
var currentDirectory = Directory.GetCurrentDirectory();
var downloadPath = Path.Combine(currentDirectory, "..", "..", "CustomChromium");
if (!Directory.Exists(downloadPath))
{
Directory.CreateDirectory(downloadPath);
}
var browserFetcherOptions = new BrowserFetcherOptions { Path = downloadPath };
var browserFetcher = new BrowserFetcher(browserFetcherOptions);
await browserFetcher.DownloadAsync();
var executablePath = browserFetcher.GetExecutablePath(Guid.NewGuid().ToString());
var options = new LaunchOptions { Headless = true, ExecutablePath = executablePath };
//LambdaLogger.Log("step 3");
using (var browser = await Puppeteer.LaunchAsync(options))
using (var page = await browser.NewPageAsync())
{
try
{
page.DefaultTimeout = 3600;
LambdaLogger.Log("step 4");
var html = responseBody;
PdfOptions objnav = new PdfOptions();
objnav.Format = PaperFormat.A4;
objnav.PrintBackground = true;
objnav.MarginOptions.Bottom = "2cm";
objnav.MarginOptions.Top = "2cm";
objnav.MarginOptions.Left = "1cm";
objnav.MarginOptions.Right = "1cm";
if (!string.IsNullOrEmpty(report.FooterTemplate))
{
objnav.DisplayHeaderFooter = true;
objnav.HeaderTemplate = "<div/>";
objnav.FooterTemplate = report.FooterTemplate;
}
if (html.Contains("<visionplus>"))
{
await page.SetContentAsync(await ReplaceTags(html, report.DocumentData, report));
}
else
{
await page.SetContentAsync(await ReplaceTagsWithBM(html, report.DocumentData, report));
}
var result = await page.GetContentAsync();
//LambdaLogger.Log("Waiting for Lambda Upload");
var resultFile = report.IsCustomMargin ? await page.PdfStreamAsync() : await page.PdfStreamAsync(objnav);
await UploadFileStreamSync(resultFile, report.BucketName, s3ObjectKey);
//LambdaLogger.Log(s3ObjectKey);
}
catch (Exception ex)
{
LambdaLogger.Log("reportData " + report.DocumentData);
Console.WriteLine("Error encountered " + ex.Message);
return string.Empty;
}
finally
{
page.Close += Page_Close;
browser.Closed += Browser_Closed;
//await browser.CloseAsync();
}
}
}
Metadata
Metadata
Assignees
Labels
No labels