Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot get binary files when using the azure blob storage binding #597

Open
marto83 opened this issue May 30, 2024 · 0 comments
Open

Cannot get binary files when using the azure blob storage binding #597

marto83 opened this issue May 30, 2024 · 0 comments

Comments

@marto83
Copy link

marto83 commented May 30, 2024

Expected Behavior

Using the following code I would except to either receive a buffer or a base64 encoded string.

const result = await client.binding.send('filestore', 'get', null,  { blobName: filename });
    console.log(typeof result); // string
    const buffer = Buffer.from(result, 'base64'); 

Actual Behavior

What you actually get is a mangled string that is a binary stream converted to text and then parsed as JSON.

Steps to Reproduce the Problem

  1. Create a bindings.azure.blobstorage binding and set decodeBase64 to true.
  2. Upload a file where data is a Buffer
const base64Data = data.toString('base64');
    const meta = {
      blobName: fileName,
      "contentType"        : contentType ?? 'application/octet-stream',
      "contentDisposition" : "attachment",
      "cacheControl"       : "no-cache",
      "custom"             : "hello-world"
    };
    
    const response = await client.binding.send(Bindings.fileStore, 'create', base64Data, meta);
  1. Get the file back and save it to disk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant