Skip to content

Read-only file system #2702

@satviktechie1986

Description

@satviktechie1986

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions