Как передать файл в AWS лямбда с помощью C # - PullRequest
1 голос
/ 25 сентября 2019

Я загружаю файл улик для чередования, используя файловый поток, но приложение размещено в aws lambda, которая не поддерживает файловый поток.

Вот мой код

public async Task<IActionResult> PostFile(D.StripeFilePurpose stripeFilePurpose)
        {
            IFormFile file = Request.Form.Files[0];

            var fileName = ContentDispositionHeaderValue.Parse(
                file.ContentDisposition).FileName.Trim('"');

            var path = string.Empty;
            var webRootPath = _hostingEnvironment.WebRootPath;

            if (string.IsNullOrEmpty(webRootPath))
            {
                path = Directory.GetCurrentDirectory();
            }

            string fileId;

            var filePath = Path.Combine(path, fileName);


            using (var fileStream = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite))
            {
                file.CopyTo(fileStream);
            }

            using (var stream = new FileStream(filePath, FileMode.Open))
            {

                var stripeFileUpload = await _stripeDisputeService
                     .UploadFileAsync(
                         fileName,
                         stream,
                         stripeFilePurpose.GetDescription());

                fileId = stripeFileUpload.Id;

            }

            return StatusCode(200, fileId);
        }

при указании lamba пути к файлудобавлял его с помощью /var/task/**mypath.

Я даже жестко закодировал путь к файлу, добавляя / var / task перед путем к файлу.Я искал и обнаружил, что потоковая передача возможна только в том случае, если мы храним файл в папке / tmp (лямбда) ..

Как этого добиться ??

...