我使用MultipartConfig来定义一个特定的URL,我可以在其中存储带有jetty的文件,但是如何根据用户请求更改此值?
例如写入/ tmp / upload / share用户文件。
@SuppressWarnings("serial")
@MultipartConfig(location="/tmp/upload", fileSizeThreshold=1024)
@WebServlet(urlPatterns={"/upload"}, name="upload")
public class UploadServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
resp.setContentType("text/plain");
PrintWriter out = resp.getWriter();
int i=0;
for(Part part: req.getParts())
{
part.write(String.format(part.getName(),i++));
}
}
}
使用此代码我更改了文件的名称,但我无法更改文件路径。
答案 0 :(得分:2)
使用Part.write(String relativeFilename)
用于管理这些临时文件(一旦servlet完成其分派,这些文件就会被删除)。
该方法的存在是为了确保内存中的文件写入磁盘。
由您决定将文件从临时位置移动到更永久的位置(例如另一个文件系统位置,数据库,CMS或CDN或存档位置等等)