我想在 mac 上创建一个名称中包含空字符的文件。文件名如 - abc\0ds.txt 我尝试创建一个名为“abc\0ahd.txt”的文件,但名称中的 \0 并不是真正的 unicode 空字符。这是另一个角色。我想创建一个名称中包含空字符的文件,因为我想重现一个用于我的应用程序集成测试的场景,该场景使用 fileItemStream.getName() (org.apache.commons.fileupload.FileUploadBase) 来获取文件名,然后它应该抛出 InvalidFileNameException 异常(org.apache.commons.fileupload.InvalidFileNameException)
我们在生产中遇到这样的场景并获得类似“org.apache.commons.fileupload.InvalidFileNameException:无效文件名:uploadertest.asp\0.png”的日志,但我无法通过从我的系统或集成测试上传文件来重现这种情况但是当我像这样发送字节流时,它可以从单元测试中重现。
byte[] formData = getFormData(boundary, defaultFormParams, invalidFileNameWithNullCharacter);
MockHttpServletRequestBuilder request = getRequest(boundary, formData);