349110 MultiPartFilter records the content-type in request params
This commit is contained in:
parent
48982ced4a
commit
0f9a898c1c
|
@ -159,7 +159,11 @@ public class MultiPartFilter implements Filter
|
|||
{
|
||||
request.setAttribute(mp.getName(),mp.getFile());
|
||||
if (mp.getContentDispositionFilename() != null)
|
||||
{
|
||||
params.add(mp.getName(), mp.getContentDispositionFilename());
|
||||
if (mp.getContentType() != null)
|
||||
params.add(mp.getName()+CONTENT_TYPE_SUFFIX, mp.getContentType());
|
||||
}
|
||||
if (_deleteFiles)
|
||||
{
|
||||
mp.getFile().deleteOnExit();
|
||||
|
@ -178,6 +182,8 @@ public class MultiPartFilter implements Filter
|
|||
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
|
||||
IO.copy(p.getInputStream(), bytes);
|
||||
params.add(p.getName(), bytes.toByteArray());
|
||||
if (p.getContentType() != null)
|
||||
params.add(p.getName()+CONTENT_TYPE_SUFFIX, p.getContentType());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,7 +47,19 @@ public class MultipartFilterTest
|
|||
private ServletTester tester;
|
||||
|
||||
|
||||
|
||||
public static class TestServlet extends DumpServlet
|
||||
{
|
||||
|
||||
@Override
|
||||
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
|
||||
{
|
||||
assertNotNull(req.getParameter("fileup"));
|
||||
assertNotNull(req.getParameter("fileup"+MultiPartFilter.CONTENT_TYPE_SUFFIX));
|
||||
assertEquals(req.getParameter("fileup"+MultiPartFilter.CONTENT_TYPE_SUFFIX), "application/octet-stream");
|
||||
super.doPost(req, resp);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -63,7 +75,7 @@ public class MultipartFilterTest
|
|||
tester=new ServletTester();
|
||||
tester.setContextPath("/context");
|
||||
tester.setResourceBase(_dir.getCanonicalPath());
|
||||
tester.addServlet(DumpServlet.class, "/");
|
||||
tester.addServlet(TestServlet.class, "/");
|
||||
tester.setAttribute("javax.servlet.context.tempdir", _dir);
|
||||
FilterHolder multipartFilter = tester.addFilter(MultiPartFilter.class,"/*", EnumSet.of(DispatcherType.REQUEST));
|
||||
multipartFilter.setInitParameter("deleteFiles", "true");
|
||||
|
@ -253,7 +265,6 @@ public class MultipartFilterTest
|
|||
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
|
||||
{
|
||||
assertEquals("How now brown cow.", req.getParameterMap().get("strupContent-Type:"));
|
||||
|
||||
super.doPost(req, resp);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue