File name issue with plus sign - Create blob (v2)

Suresh Kumar Chermadurai 20 Reputation points
2025-04-28T13:02:16.3666667+00:00

I'm encountering an issue while copying a file from one Azure Blob Storage account to another using Logic Apps. The workflow uses the "Get blob content using path (V2)" connector to read the file from the source and the "Create blob (V2)" connector to write it to the destination.

The issue arises when the file name contains a "+" symbol, e.g., TestDocument+sample12.docx. I’ve tried the following:

  • I am retrieving the blob content from the source storage using the "Get blob content using path (V2)" connector, and I replace the "+" symbol with %2b in the path to correctly fetch the file.

However, problems occur during the creation of the new blob in the target storage:

  1. Using the "+" character directly in the file name in the Create Blob (V2) connector:
    • The file is copied successfully with the correct content.
    • But the file name is changed in the target container. The "+" is dropped, resulting in TestDocument sample12.docx.
  2. Using %2b in place of "+" in the file name in the Create Blob (V2) connector:
  • The connector throws a "file not found" error.
  • Despite this, it creates an empty and unusable file in the target with the correct name (TestDocument+sample12.docx).
    • The file shows Lease status as 'Leased' and contains no data.

Has anyone faced a similar issue, or is there a recommended way to handle file names with special characters like "+" when copying blobs using Logic Apps?

Any help or suggestions would be greatly appreciated.

Azure Logic Apps
Azure Logic Apps
An Azure service that automates the access and use of data across clouds without writing code.
3,470 questions
{count} votes

2 answers

Sort by: Most helpful
  1. Suwarna S Kale 2,211 Reputation points
    2025-04-28T20:35:06.41+00:00

    Hello Suresh Kumar Chermadurai,

    Thank you for posting your question in the Microsoft Q&A forum. 

    When using the "Create blob (V2)" connector in Azure Logic Apps to transfer files between Blob Storage accounts, special characters in filenames—such as plus signs (+)—must be properly encoded to avoid errors. In your case, replacing "+" with "%2B" (URL encoding) is correct, as raw special characters can disrupt the URI parsing. However, Logic Apps may still encounter issues if the decoding/encoding process is inconsistent across connectors. 

    To ensure seamless file transfer, verify that: 

    • The source blob path uses consistent encoding (e.g., %2B instead of +). 
    • The destination blob name follows Azure Storage naming conventions (avoid reserved characters such as ?, , % unless encoded). 
    • The "Create blob (V2)" action dynamically preserves encoded characters—sometimes Logic Apps auto-decodes them, breaking the path. 

    If issues persist, you may consider below steps: 

    • Using Azure Functions or Storage SDKs for complex filename handling. 
    • Logging the raw and encoded paths in a Compose step to debug mismatches. 
    • Testing with a simplified filename first to isolate the issue. 

    Proper encoding and validation ensure reliable file transfers in Logic Apps. 

     

    If the above answer helped, please do not forget to "Accept Answer" as this may help other community members to refer the info if facing a similar issue. Your contribution to the Microsoft Q&A community is highly appreciated. 


  2. RithwikBojja 2,080 Reputation points Microsoft External Staff
    2025-04-30T10:50:09.23+00:00

    Hi @Suresh Kumar Chermadurai ,

    To fetch the file with plus (+), I used below design which works:

    
      /testcon/rith%2bch.txt
    
    

    enter image description here

    Output:

    enter image description here

    Firstly, I have below file in testcon:

    enter image description here

    When we use Create Blob (V2) action, it is creating lease and data is empty.

    But as an alternative, you can use below design:

    
      /testcon/rith%2bch.txt
    
    

    enter image description here

    Then taken the output in Compose as below:

    enter image description here

    Then in Create Block Blob (V2) Action :

    
    decodeUriComponent('rit%2bbch.txt')
    
    

    enter image description here

    Output:

    enter image description here

    enter image description here

    If you directly give body('Get_blob_content_using_path_(V2)') directly in Create block blob action, it taking as a space . But if you give in Compose action and use its output, then its working fine.

    With Create blob it gives space in names:

    enter image description here


    If this answer was helpful, please click "Accept the answer" and mark Yes, as this can help other community members.

    enter image description here

    If you have any other questions or are still experiencing issues, feel free to ask in the "comments" section, and I'd be happy to help.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.