在Chrome中无法使用文件名中带有国家字符的文件上传功能

时间:2019-11-14 04:13:28

标签: google-chrome file-upload multipartform-data

文件名中带有国家字符的文件上传在Chrome中不再起作用。下面是重现该错误的代码示例。当上传文件名中带有国家字符(åäö)的文件时,$ _ FILES变量为空。我已经使用Apache模块dump_io记录了完整的请求,并且看起来没有多部分表单数据从Web浏览器发送到服务器。使用Firefox时,一切正常。它也可以工作到几个月前的Chrome。我猜想Google在Chrome中做了一些升级,引入了这个问题。还有其他人遇到同样的问题吗?

    <?php
header("Content-Type: text/html; charset=ISO-8859-1");
$fileSize = 0;
if (array_key_exists("file_upload", $_FILES)) {
    $fileSize = $_FILES["file_upload"]['size'];
    echo "fileSize=$fileSize<br/><br/>";
}
?>
<html>
    <head>
        <title>Test</title>
        <meta charset="ISO-8859-1">
    </head>
    <body>
    <form action="test_upload.php" enctype="multipart/form-data" method="POST">
        <input type="file" name="file_upload" size="45" />
        <input type="submit" value="Upload"/>
    </form>
    </body>
</html>

0 个答案:

没有答案