<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: FileRepositoryDownloader returns 406 error when file name contains # character -even when URL en in ThingWorx Developers</title>
    <link>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1040240#M70773</link>
    <description>&lt;P&gt;# is part of regex. I have removed it just for test but now its there is regex and then it should work but its not working and file name is&amp;nbsp;&lt;SPAN class="hljs-built_in"&gt;test&lt;/SPAN&gt;&lt;SPAN class="hljs-comment"&gt;#2.pdf which is according to our regex. so far i have no clue why its not working.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 27 Oct 2025 05:33:57 GMT</pubDate>
    <dc:creator>MA8731174</dc:creator>
    <dc:date>2025-10-27T05:33:57Z</dc:date>
    <item>
      <title>FileRepositoryDownloader returns 406 error when file name contains # character -even when URL encode</title>
      <link>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039888#M70761</link>
      <description>&lt;P data-start="399" data-end="413"&gt;Hi everyone,&lt;/P&gt;
&lt;P data-start="415" data-end="560"&gt;I’m running into an issue with &lt;STRONG data-start="446" data-end="484"&gt;ThingWorx FileRepositoryDownloader&lt;/STRONG&gt; when trying to download files that contain a &lt;CODE data-start="530" data-end="533"&gt;#&lt;/CODE&gt; character in their name.&lt;/P&gt;
&lt;P data-start="562" data-end="615"&gt;For example, I have a file in my repository called:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"&gt;
&lt;DIV class="overflow-y-auto p-4" dir="ltr"&gt;&lt;CODE class="whitespace-pre!"&gt;&lt;SPAN&gt;&lt;SPAN class="hljs-built_in"&gt;test&lt;/SPAN&gt;&lt;SPAN class="hljs-comment"&gt;#2.pdf&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="overflow-visible!" data-start="616" data-end="634"&gt;&amp;nbsp;&lt;/PRE&gt;
&lt;P data-start="636" data-end="718"&gt;When I build the URL dynamically using &lt;CODE data-start="675" data-end="695"&gt;encodeURIComponent&lt;/CODE&gt;, it looks like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"&gt;
&lt;DIV class="sticky top-9"&gt;
&lt;DIV class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;DIV class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="overflow-y-auto p-4" dir="ltr"&gt;&lt;CODE class="whitespace-pre!"&gt;&lt;SPAN&gt;https:&lt;SPAN class="hljs-regexp"&gt;//&lt;/SPAN&gt;&amp;lt;server&amp;gt;&lt;SPAN class="hljs-regexp"&gt;/Thingworx/&lt;/SPAN&gt;FileRepositoryDownloader?download-repository=test.FileRepository&amp;amp;directRender=true&amp;amp;download-path=%2F1760338581178%2F1761219448752%&lt;SPAN class="hljs-number"&gt;2&lt;/SPAN&gt;Ftest%232.pdf
&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="overflow-visible!" data-start="719" data-end="899"&gt;&amp;nbsp;&lt;/PRE&gt;
&lt;P data-start="901" data-end="942"&gt;However, the request always fails with:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"&gt;
&lt;DIV class="sticky top-9"&gt;
&lt;DIV class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;DIV class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="overflow-y-auto p-4" dir="ltr"&gt;&lt;CODE class="whitespace-pre!"&gt;&lt;SPAN&gt;&lt;SPAN class="hljs-variable"&gt;HTTP&lt;/SPAN&gt; &lt;SPAN class="hljs-number"&gt;406&lt;/SPAN&gt; – &lt;SPAN class="hljs-built_in"&gt;Not&lt;/SPAN&gt; &lt;SPAN class="hljs-variable"&gt;Acceptable&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;PRE class="overflow-visible!" data-start="943" data-end="976"&gt;&amp;nbsp;&lt;/PRE&gt;
&lt;P data-start="977" data-end="1054"&gt;and the response shows &lt;CODE data-start="1000" data-end="1019"&gt;Content-Length: 0&lt;/CODE&gt; from the ThingWorx Nginx server.&lt;/P&gt;
&lt;P data-start="1056" data-end="1143"&gt;If I rename the file (for example to &lt;CODE data-start="1093" data-end="1105"&gt;test_2.pdf&lt;/CODE&gt;), the same request works perfectly.&lt;/P&gt;
&lt;P data-start="1145" data-end="1322"&gt;It seems that even though the filename is correctly encoded (&lt;CODE data-start="1206" data-end="1211"&gt;%23&lt;/CODE&gt;), the FileRepositoryDownloader servlet doesn’t handle &lt;CODE data-start="1266" data-end="1269"&gt;#&lt;/CODE&gt; correctly inside the &lt;CODE data-start="1291" data-end="1306"&gt;download-path&lt;/CODE&gt; query string.&lt;/P&gt;
&lt;P data-start="1324" data-end="1487"&gt;Has anyone else encountered this before?&lt;/P&gt;
&lt;P data-start="1324" data-end="1487"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-start="1324" data-end="1487"&gt;i am using webgl widget to render pdf in browser..&lt;/P&gt;
&lt;P data-start="1324" data-end="1487"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-start="1324" data-end="1487"&gt;&amp;nbsp;&lt;STRONG&gt;output = "&lt;/STRONG&gt;/Thingworx/FileRepositoryDownloader?download-repository=" + fileRepository + "&amp;amp;directRender=true&amp;amp;download-path=" + encodeURIComponent(path)&lt;STRONG&gt;;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P data-start="1324" data-end="1487"&gt;&lt;BR data-start="1364" data-end="1367" /&gt;Is there a known workaround or a configuration change to make ThingWorx accept such filenames (without renaming them)?&lt;/P&gt;
&lt;P data-start="1324" data-end="1487"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-start="1324" data-end="1487"&gt;&lt;STRONG&gt;Note&amp;nbsp;&lt;/STRONG&gt;All German characters in pdf name were causing an issue but after adding this&amp;nbsp;encodeURIComponent(path) in generating pdf path all problems were resolved. special characters mean ü ö but this only file which has # hash sign is causing an issue.&amp;nbsp;&lt;/P&gt;
&lt;P data-start="1324" data-end="1487"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-start="1489" data-end="1547"&gt;Any help or confirmation would be greatly appreciated&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Oct 2025 06:28:18 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039888#M70761</guid>
      <dc:creator>MA8731174</dc:creator>
      <dc:date>2025-10-24T06:28:18Z</dc:date>
    </item>
    <item>
      <title>Re: FileRepositoryDownloader returns 406 error when file name contains # character -even when URL en</title>
      <link>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039891#M70762</link>
      <description>&lt;P&gt;Two ideas:&lt;/P&gt;
&lt;P&gt;1) You could try the alternative link to download, without the FileRepositoryDownloader.&lt;/P&gt;
&lt;DIV class="overflow-y-auto p-4" dir="ltr"&gt;&lt;CODE class="whitespace-pre!"&gt;&lt;SPAN class="hljs-variable"&gt;&amp;lt;Thingworx&amp;gt;/FileRepositories/myRepository/myFile.txt&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/DIV&gt;
&lt;DIV dir="ltr"&gt;2) Check TWX and Tomcat log. There might be more information,&amp;nbsp;&amp;nbsp;&lt;CODE class="whitespace-pre!"&gt;&lt;/CODE&gt;&lt;CODE class="whitespace-pre!"&gt;&lt;/CODE&gt;&lt;CODE class="whitespace-pre!"&gt;&lt;SPAN&gt;&lt;SPAN class="hljs-variable"&gt;HTTP&lt;/SPAN&gt; &lt;SPAN class="hljs-number"&gt;406&lt;/SPAN&gt; – &lt;SPAN class="hljs-built_in"&gt;Not&lt;/SPAN&gt; &lt;SPAN class="hljs-variable"&gt;Acceptable&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/CODE&gt; &amp;nbsp;&lt;/DIV&gt;
&lt;DIV dir="ltr"&gt;sounds a bit like the character was forbidden - there is a config about allowed characters, maybe you run into this.&lt;/DIV&gt;
&lt;DIV dir="ltr"&gt;I think it's in esapi/validation.properties&lt;/DIV&gt;
&lt;DIV class="overflow-y-auto p-4" dir="ltr"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Fri, 24 Oct 2025 07:13:19 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039891#M70762</guid>
      <dc:creator>Rocko</dc:creator>
      <dc:date>2025-10-24T07:13:19Z</dc:date>
    </item>
    <item>
      <title>Re: FileRepositoryDownloader returns 406 error when file name contains # character -even when URL en</title>
      <link>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039893#M70763</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://www.ptcusercommunity.com/t5/user/viewprofilepage/user-id/244971"&gt;@Rocko&lt;/a&gt;&amp;nbsp; are you talking about platform-settings.json file? Or how can i find this configs where these all validation properties are mentioned?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Oct 2025 07:10:49 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039893#M70763</guid>
      <dc:creator>MA8731174</dc:creator>
      <dc:date>2025-10-24T07:10:49Z</dc:date>
    </item>
    <item>
      <title>Re: FileRepositoryDownloader returns 406 error when file name contains # character -even when URL en</title>
      <link>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039897#M70764</link>
      <description>&lt;P&gt;no, esapi is a subdirectory in your TWX ThingworxStorage directory. There might be also something in the help about this. If this is the issue, you have to add # as an allowed character into the regular expression.&lt;/P&gt;</description>
      <pubDate>Fri, 24 Oct 2025 07:19:00 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039897#M70764</guid>
      <dc:creator>Rocko</dc:creator>
      <dc:date>2025-10-24T07:19:00Z</dc:date>
    </item>
    <item>
      <title>Re: FileRepositoryDownloader returns 406 error when file name contains # character -even when URL en</title>
      <link>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039906#M70766</link>
      <description>&lt;P&gt;so i have used first idea which you have mentioned and with that workaround i am able to load the pdf in webView widget but it only works when there is a hash in file otherwise i am using same link. as below&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;if (format == "pdf" &amp;amp;&amp;amp; path.endsWith("pdf")) {
    if (path.includes("#")) {
        output = downloadUrl;
    } else {
    output = "/Thingworx/FileRepositoryDownloader?download-repository=" + fileRepository + "&amp;amp;directRender=true&amp;amp;download-path=" + encodeURIComponent(path);
    }
} else {
    output = undefined;
}
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would like to resolve the issue properly as you have mentioned also. I ll update here if i would be able to find a real root problem and its solution.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Oct 2025 09:21:04 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039906#M70766</guid>
      <dc:creator>MA8731174</dc:creator>
      <dc:date>2025-10-24T09:21:04Z</dc:date>
    </item>
    <item>
      <title>Re: FileRepositoryDownloader returns 406 error when file name contains # character -even when URL en</title>
      <link>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039907#M70767</link>
      <description>&lt;P&gt;may be question&amp;nbsp; arise why two links to render pdf ? because when i click download button with the hash link then it opens the pdf in new tab of browser and without hash it downloads the pdf. Thats why i am using two different links for now..&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Oct 2025 09:24:22 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039907#M70767</guid>
      <dc:creator>MA8731174</dc:creator>
      <dc:date>2025-10-24T09:24:22Z</dc:date>
    </item>
    <item>
      <title>Re: FileRepositoryDownloader returns 406 error when file name contains # character -even when URL en</title>
      <link>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039916#M70768</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.ptcusercommunity.com/t5/user/viewprofilepage/user-id/244971"&gt;@Rocko&lt;/a&gt;&amp;nbsp; I have found that file in &lt;SPAN&gt;esapi folder&amp;nbsp;&lt;/SPAN&gt;and here below in screenshot you can see that i have removed # symbol from fileName&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MA8731174_0-1761300734842.png" style="width: 400px;"&gt;&lt;img src="https://www.ptcusercommunity.com/t5/image/serverpage/image-id/130089iA85B386A4557CC4F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="MA8731174_0-1761300734842.png" alt="MA8731174_0-1761300734842.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;i am still encountering same error. here are the logs&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;2025-10-24 10:23:31.358+0000 [L: ERROR] [O: E.c.t.s.f.ValidatingHttpRequest] [I: ] [U: Z022] [S: ] [P: ] [T: https-openssl-nio--exec-7] Error occurred while validating HTTP parameter: download-path. HTTP parameter name: download-path: Invalid input. Please conform to regex ^[a-zA-Z0-9.\-\/+=_', ¡-:]*$ with a maximum length of 2000&amp;nbsp;&lt;BR /&gt;2025-10-24 10:23:31.358+0000 [L: ERROR] [O: E.c.q.l.c.Logger] [I: ] [U: Z022] [S: ] [P: ] [T: https-openssl-nio--exec-7] Invalid Request Exception:&amp;nbsp;&amp;nbsp;&lt;BR /&gt;2025-10-24 10:23:31.358+0000 [L: ERROR] [O: E.c.q.l.c.Logger] [I: ] [U: Z022] [S: ] [P: ] [T: https-openssl-nio--exec-7] Invalid Request Exception: No Path Was Specified&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Oct 2025 10:37:03 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039916#M70768</guid>
      <dc:creator>MA8731174</dc:creator>
      <dc:date>2025-10-24T10:37:03Z</dc:date>
    </item>
    <item>
      <title>Re: FileRepositoryDownloader returns 406 error when file name contains # character -even when URL en</title>
      <link>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039921#M70769</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Error Logs&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;2025-10-24 10:31:27.319+0000 [L: ERROR] [O: E.c.t.s.f.ValidatingHttpRequest] [I: ] [U: Z0227] [S: ] [P: ] [T: https-openssl-nio--exec-2] Error occurred while validating HTTP parameter: download-path. HTTP parameter name: download-path: Invalid input. Please conform to regex ^[a-zA-Z0-9.\-\/+=_', ¡-:]*$ with a maximum length of 2000&amp;nbsp;&lt;BR /&gt;2025-10-24 10:31:27.319+0000 [L: ERROR] [O: E.c.q.l.c.Logger] [I: ] [U: Z0227] [S: ] [P: ] [T: https-openssl-nio--exec-2] Invalid Request Exception:&amp;nbsp;&amp;nbsp;&lt;BR /&gt;2025-10-24 10:31:27.319+0000 [L: ERROR] [O: E.c.q.l.c.Logger] [I: ] [U: Z0227] [S: ] [P: ] [T: https-openssl-nio--exec-2] Invalid Request Exception: File Repository [undefined] does not exist&amp;nbsp;&lt;BR /&gt;2025-10-24 10:31:27.338+0000 [L: ERROR] [O: E.c.t.s.f.ValidatingHttpRequest] [I: ] [U: Z0227] [S: ] [P: ] [T: https-openssl-nio--exec-5] Error occurred while validating HTTP parameter: download-path. HTTP parameter name: download-path: Invalid input. Please conform to regex ^[a-zA-Z0-9.\-\/+=_', ¡-:]*$ with a maximum length of 2000&amp;nbsp;&lt;BR /&gt;2025-10-24 10:31:27.338+0000 [L: ERROR] [O: E.c.q.l.c.Logger] [I: ] [U: Z0227] [S: ] [P: ] [T: https-openssl-nio--exec-5] Invalid Request Exception:&amp;nbsp;&amp;nbsp;&lt;BR /&gt;2025-10-24 10:31:27.338+0000 [L: ERROR] [O: E.c.q.l.c.Logger] [I: ] [U: Z0227] [S: ] [P: ] [T: https-openssl-nio--exec-5] Invalid Request Exception: No Path Was Specified&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;our validation file&amp;nbsp; ( i have removed # from Validator.FileName and Validator.URL ...other then that no # symbol exists in this file)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;# Validation.Email=^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\\.[a-zA-Z]{2,4}$&lt;BR /&gt;# &lt;BR /&gt;# Then you can validate in your code against the pattern like this:&lt;BR /&gt;# Validator.getInstance().getValidDataFromBrowser( "Email", input );&lt;BR /&gt;# Validator.getInstance().isValidDataFromBrowser( "Email", input );&lt;BR /&gt;#&lt;BR /&gt;Validator.SafeString=^[\p{L}\p{N}.]{0,1024}$&lt;BR /&gt;Validator.Email=^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\\.[a-zA-Z]{2,4}$&lt;BR /&gt;Validator.IPAddress=^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$&lt;BR /&gt;Validator.URL=^(ht|f)tp(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\:\\'\\/\\\\\\+=&amp;amp;amp;%\\$#_]*)?$&lt;BR /&gt;Validator.CreditCard=^(\\d{4}[- ]?){3}\\d{4}$&lt;BR /&gt;Validator.SSN=^(?!000)([0-6]\\d{2}|7([0-6]\\d|7[012]))([ -]?)(?!00)\\d\\d\\3(?!0000)\\d{4}$&lt;/P&gt;
&lt;P&gt;# Validators used by ESAPI&lt;BR /&gt;Validator.AccountName=^[a-zA-Z0-9]{3,20}$&lt;BR /&gt;Validator.SystemCommand=^[a-zA-Z\\-\\/]{0,64}$&lt;BR /&gt;Validator.RoleName=^[a-z]{1,20}$&lt;BR /&gt;Validator.Redirect=^\\/Thingworx.*$&lt;/P&gt;
&lt;P&gt;# Global HTTP Validation Rules&lt;BR /&gt;# Values with Base64 encoded data (e.g. encrypted state) will need at least [a-zA-Z0-9\/+=]&lt;BR /&gt;Validator.HTTPScheme=^(http|https)$&lt;BR /&gt;Validator.HTTPServerName=^[a-zA-Z0-9_.\\-]*$&lt;BR /&gt;Validator.HTTPParameterName=^[a-zA-Z0-9_]{0,32}$&lt;BR /&gt;Validator.HTTPParameterValue=^[a-zA-Z0-9.\\-\\/+=_', \u00A1-\uFFFF:]*$&lt;/P&gt;
&lt;P&gt;# On entity import from a file repository. The parameter exportFileName has the name of the file which holds the entity.&lt;BR /&gt;Validator.HTTPParameterValue_exportFileName=^.+$&lt;BR /&gt;Validator.HTTPParameterValue_repositoryName=^[a-zA-Z0-9.\\-\\/+=_', \u00A1-\uFFFF:&amp;lt;&amp;gt;]*$&lt;/P&gt;
&lt;P&gt;Validator.HTTPParameterValue_reason=^[a-zA-Z0-9.\\-\\/+=_,/:\\n@$ \u00A1-\uFFFF]*$&lt;BR /&gt;Validator.HTTPParameterValue_SAMLResponse=^[a-zA-Z0-9+\/=]*$&lt;BR /&gt;Validator.HTTPCookieName=^[a-zA-Z0-9\\-_]{0,32}$&lt;BR /&gt;Validator.HTTPCookieValue=^[a-zA-Z0-9\\-\\/+=_ ':]*$&lt;BR /&gt;Validator.HTTPHeaderName=^[a-zA-Z0-9\\-_]{0,32}$&lt;BR /&gt;Validator.HTTPHeaderValue=^[a-zA-Z0-9()\\-=\\*\\.\\?;,+\\/:&amp;amp;_ %\$ \u00A1-\uFFFF'"]*$&lt;BR /&gt;Validator.HTTPHeaderValue_cookie=^[a-zA-Z0-9()\\-=\\*\\.\\?;,+\\/:&amp;amp;_|% ]*$&lt;BR /&gt;Validator.HTTPHeaderValue_if-none-match=^.*$&lt;BR /&gt;Validator.HTTPHeaderValue_if-range=^.*$&lt;BR /&gt;Validator.HTTPHeaderValue_referer=^([a-zA-Z0-9()\\-=\\*\\.\\?;,+\\/:&amp;amp;_ ]|%[a-fA-F0-9]{2})*$&lt;BR /&gt;Validator.HTTPContextPath=^[a-zA-Z0-9.\\-_]*$&lt;BR /&gt;Validator.HTTPPath=^[a-zA-Z0-9.\\-_]*$&lt;BR /&gt;Validator.HTTPQueryString=^[a-zA-Z0-9()\\-=\\*\\.\\?;,+\\/:&amp;amp;_ ](1,50)$&lt;BR /&gt;Validator.HTTPURI=^[a-zA-Z0-9()\\-=\\*\\.\\?;,+\\/:&amp;amp;_ ]*$&lt;BR /&gt;Validator.HTTPURL=^.*$&lt;BR /&gt;Validator.HTTPJSESSIONID=^[A-Z0-9]{10,30}$&lt;/P&gt;
&lt;P&gt;# Validation of file related input&lt;BR /&gt;Validator.FileName=^[a-zA-Z0-9!@#$%^&amp;amp;{}\\[\\]()_+\\-=,.~'` ]{0,255}$&lt;BR /&gt;Validator.DirectoryName=^[a-zA-Z0-9:\\\\!@#$%^&amp;amp;{}\\[\\]()_+\\-=,.~'` ]{0,255}$&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Oct 2025 10:36:28 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1039921#M70769</guid>
      <dc:creator>MA8731174</dc:creator>
      <dc:date>2025-10-24T10:36:28Z</dc:date>
    </item>
    <item>
      <title>Re: FileRepositoryDownloader returns 406 error when file name contains # character -even when URL en</title>
      <link>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1040117#M70772</link>
      <description>&lt;P&gt;not sure why you removed # from the pattern, if your filename has a #.&lt;/P&gt;
&lt;P&gt;Your filename must match the regular expression. According to the error, it does not and therefore is rejected.&lt;/P&gt;
&lt;P&gt;Adapt the filename to match the regex, or change the regex.&lt;/P&gt;</description>
      <pubDate>Sun, 26 Oct 2025 16:08:11 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1040117#M70772</guid>
      <dc:creator>Rocko</dc:creator>
      <dc:date>2025-10-26T16:08:11Z</dc:date>
    </item>
    <item>
      <title>Re: FileRepositoryDownloader returns 406 error when file name contains # character -even when URL en</title>
      <link>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1040240#M70773</link>
      <description>&lt;P&gt;# is part of regex. I have removed it just for test but now its there is regex and then it should work but its not working and file name is&amp;nbsp;&lt;SPAN class="hljs-built_in"&gt;test&lt;/SPAN&gt;&lt;SPAN class="hljs-comment"&gt;#2.pdf which is according to our regex. so far i have no clue why its not working.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Oct 2025 05:33:57 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/ThingWorx-Developers/FileRepositoryDownloader-returns-406-error-when-file-name/m-p/1040240#M70773</guid>
      <dc:creator>MA8731174</dc:creator>
      <dc:date>2025-10-27T05:33:57Z</dc:date>
    </item>
  </channel>
</rss>

