如何使用Spring的MockMultipartHttpServletRequest?得到“未找到多部分边界”

如何使用Spring的MockMultipartHttpServletRequest?得到“未找到多部分边界”,第1张

如何使用Spring的MockMultipartHttpServletRequest?得到“未找到多部分边界

您需要设置边界。

这里对边界是什么有很好的解释http://codingdict.com/questions/144876

要解决您的问题,请尝试以下代码。

    import java.io.IOException;    import java.nio.file.Files;    import java.nio.file.Path;    import java.nio.file.Paths;    import org.apache.commons.lang.ArrayUtils;    import org.springframework.mock.web.MockHttpServletResponse;    import org.springframework.mock.web.MockMultipartFile;    import org.springframework.mock.web.MockMultipartHttpServletRequest;public class FileUploadTest {    public void testDoPost() throws IOException { Path path = Paths.get("c:\temp\test.zip"); byte[] data = Files.readAllBytes(path); MockMultipartFile file = new MockMultipartFile("test.zip", "test.zip",         "application/zip", data); MockMultipartHttpServletRequest mockRequest = new MockMultipartHttpServletRequest(); String boundary = "q1w2e3r4t5y6u7i8o9"; mockRequest.setContentType("multipart/form-data; boundary="+boundary); mockRequest.setContent(createFileContent(data,boundary,"application/zip","test.zip")); mockRequest.addFile(file); mockRequest.setMethod("POST"); mockRequest.setParameter("variant", "php"); mockRequest.setParameter("os", "mac"); mockRequest.setParameter("version", "3.4"); MockHttpServletResponse response = new MockHttpServletResponse(); new FileUpload().doPost(mockRequest, response);        }        public byte[] createFileContent(byte[] data, String boundary, String contentType, String fileName){ String start = "--" + boundary + "rn Content-Disposition: form-data; name="file"; filename=""+fileName+""rn"          + "Content-type: "+contentType+"rnrn";; String end = "rn--" + boundary + "--"; // correction suggested @butfly  return ArrayUtils.addAll(start.getBytes(),ArrayUtils.addAll(data,end.getBytes()));        }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5439515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存