Lilz
Lilz

Reputation: 4089

Uploading a file in Java using a servlet

I'm using javazoom for uploading

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);

the files are always coming as empty. Any help please?


I then tried doing this with 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);
            }

and it failed at files = upload.parseRequest(request);

Any pointers?

Sorry and thank you :)

Upvotes: 2

Views: 3609

Answers (3)

skaffman
skaffman

Reputation: 403581

I'd recommend using a more popular, high-profile library to do this, such as Apache Commons FileUpload. It's more likely to work, have better docs and have more people around to help you use it.

Upvotes: 4

Pere Villega
Pere Villega

Reputation: 16439

Are you using another framework, like Trinidad or similar? They usually include filters that recover the uploaded files so when the process gets to your server, the request doesn't contain any attached file.

Upvotes: 0

victor hugo
victor hugo

Reputation: 35848

Check the form sending the file has enctype="multipart/form-data" defined like here:

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

Other way the file will never upload according to RFC1867

Upvotes: 4

Related Questions