使用servlet在Java中上载文件

使用servlet在Java中上载文件,java,servlets,file-upload,Java,Servlets,File Upload,我正在使用javazoom进行上传 protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException { PrintWriter out = null; JOptionPane.showMessageDialog(null, "Lets do this"); try { response.setCon

我正在使用javazoom进行上传

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException {
    PrintWriter out = null;
    JOptionPane.showMessageDialog(null, "Lets do this");
    try {
        response.setContentType("text/html;charset=UTF-8");
        try {
            MultipartFormDataRequest dataRequest = new MultipartFormDataRequest(request);
            //get uploaded files
            Hashtable files = dataRequest.getFiles();
            if (!files.isEmpty()) {
                UploadFile uploadFile = (UploadFile) files.get("filename");
                byte[] bytes = uploadFile.getData();
                String s = new String(bytes);
文件总是空的。 需要帮忙吗


然后,我尝试使用Apache Commons FileUpload执行此操作:

 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException {
     PrintWriter out = null;

        try {

            response.setContentType("text/html;charset=UTF-8");
            //MultipartFormDataRequest dataRequest = new MultipartFormDataRequest(request);
            //get uploaded files
            FileItemFactory factory = new DiskFileItemFactory();
            // Create a new file upload handler
            ServletFileUpload upload = new ServletFileUpload(factory);
            List files = null;
            try {
                files = upload.parseRequest(request);
            } catch (FileUploadException ex) {
                Logger.getLogger(ProcessUploadItem.class.getName()).log(Level.SEVERE, null, ex);
            }
files=upload.parseRequest(请求)时失败

有什么建议吗


抱歉,谢谢:)

检查发送文件的表单是否定义了enctype=“multipart/form data”,如下所示:

<form enctype="multipart/form-data" action="...

您是否正在使用其他框架,如特立尼达或类似的框架?它们通常包括恢复上传文件的过滤器,因此当进程到达您的服务器时,请求不包含任何附加文件。

我建议使用更流行、更引人注目的库来实现这一点,例如Apache Commons FileUpload。它更有可能工作,有更好的文档,有更多的人在身边帮助您使用它。

我把这篇文章写到了我的另一个servlet out.println(“”);out.println(“文件上传”);println(“选择文件:”);out.println(“”);out.println(“
”);out.println(“”);out.println(“”);不,我不相信我是这样的:请在标记问题时注意提示提示。任何名称后数字小于10的标记都可能是错误的。避免创建新标签。啊,thnx…我会记住这一点