Filöverföringar misslyckas för filnamn med specialtecken i AEM Forms
Filöverföringar via Adaptiv Forms i AEM Forms On-prem 6.5 misslyckas när filnamn innehåller specialtecken eller Unicode-tecken. Det här problemet inträffar vid formuläröverföringar i flera delar som använder en anpassad skicka-åtgärd som lagrar filer i Azure Blob Storage via en molnanslutning. Vid filextrahering i överföringshanteraren ersätter metoder som part.getName() felaktigt Unicode-tecken med "??" eller "?", vilket stör filnamnsmappningen och förhindrar att överföringen slutförs.
Du kan åtgärda detta genom att använda metoden getSubmittedFileName() för att hämta filnamn med specialtecken och säkerställa tillförlitliga överföringar till Azure Blob Storage.
Beskrivning description
Miljö
- Produkt: AEM Forms
- Version: v6.5
Problem/symtom
- Filnamn med specialtecken visas som "??" eller "?" vid hämtning med
part.getName(). - Metoden
request.getParts()returnerar inte alla bifogade filer om filnamnen innehåller Unicode-tecken. - Överföringar misslyckas för filer med särskilda Unicode-tecken i sina namn, särskilt vid formulärinskickning i flera delar.
- Felaktig filnamnskodning påverkar blobblagring och förhindrar att överföringen slutförs.
Upplösning resolution
Du löser problemet genom att uppdatera filöverföringslogiken så att getSubmittedFileName() används i stället för getName(). Detta garanterar att filnamn med specialtecken eller Unicode-tecken hämtas och bearbetas korrekt. Följ de här stegen:
-
Ersätt alla anrop till
part.getName()medpart.getSubmittedFileName()i koden. Den här metoden hämtar det ursprungliga filnamnet, inklusive specialtecken och Unicode-tecken. -
Testa den uppdaterade koden med exempelfiler med olika typer av filnamn för att bekräfta korrekt beteende. Exempel:
code language-none // Before (problematic) String filename = part.getName(); // After (fixed) String filename = part.getSubmittedFileName(); -
Distribuera den uppdaterade koden för produktion och verifiera att filöverföringar fungerar i alla miljöer och på alla plattformar.
Genom att göra den här ändringen bearbetas filnamn korrekt oavsett teckenuppsättning, vilket möjliggör slutförda överföringar även för filer med specialtecken eller Unicode-tecken.
Relaterad läsning
Importera och exportera resurser till AEM Forms i användarhandboken för AEM 6.5