This error is caused by the fact that the key-value pairs in the HTTP header must be encoded using the ASCII character set. In your code, the value of the Content-Disposition header contains non-ASCII characters (Chinese characters), thus causing this error.
To fix this problem, you can properly encode values containing non-ASCII characters. In this case, you can use the urllib.parse.quote method to URL-encode the filename to ensure it contains only ASCII characters. The encoded filename is then used as the value of the Content-Disposition header.
By URL-encoding the file name using the quote method, you can ensure that the generated value contains only ASCII characters, thus avoiding errors. In this way, no matter whether the file name contains Chinese characters or not, it can be processed normally.
upload fileName with non-ASCII char. will cause error · Issue #91 · ahmetoner/whisper-asr-webservice
This error is caused by the fact that the key-value pairs in the HTTP header must be encoded using the ASCII character set. In your code, the value of the
Content-Disposition
header contains non-ASCII characters (Chinese characters), thus causing this error.To fix this problem, you can properly encode values containing non-ASCII characters. In this case, you can use the
urllib.parse.quote
method to URL-encode the filename to ensure it contains only ASCII characters. The encoded filename is then used as the value of theContent-Disposition
header.Here is the modified code example:
By URL-encoding the file name using the
quote
method, you can ensure that the generated value contains only ASCII characters, thus avoiding errors. In this way, no matter whether the file name contains Chinese characters or not, it can be processed normally.