i just started using Uploadify flash plugin instead of standard HTML UI.
And met the next problem:
when I click "Upload Files" link,that progress is shown and "completed" status is appeared, but in reality - it didn't happened anything,Java Servlet isn't called from backend.
There is upload servlet and uploading performed next way earlier:
< form enctype="multipart/form-data" method="post" target="uploadFrame"
action="<%= request.getContextPath() %>/uploadFile?portletId=${portletId}&remoteFolder=${remoteFolder}">...
After providing Uploadify plugin, UI now looks like:
plugin part(configuration):
    <script>
...  
         oScript.text+= "$j('#uploadify').uploadify({";
      oScript.text+= "'uploader' : 'kne-portlets/js/lib/uploadify/scripts/uploadify.swf',";
      oScript.text+= "'script'   : '<%= request.getContextPath() %>/uploadFile?portletId=${portletId}&remoteFolder=<%= decodedString %>',";
      oScript.text+= "'cancelImg': 'kne-portlets/js/lib/uploadify/cancel.png',";
      oScript.text+= "'folder'   : '<%= decodedString %>',";
      oScript.text+= "'queueID'  : 'fileQueue',";
      oScript.text+= "'auto'     : false,";
      oScript.text+= "'multi'    : false,";
      //oScript.text+= "'sizeLimit' : 1000";
      oScript.text+= "});";
      oScript.text+= "});"; 
...   
</script>
'scripts' parameter here points to Java Servlet on backend
<%= decodedString %> is folder path, which value is \\file-srv\demo
part for uploading:
<input type="file" name="uploadify" id="uploadify" />
<a href="javascript:$j('#uploadify').uploadifyUpload();">Upload Files</a>
Where is my fault?
'Script' param in plugin config points to Java Servlet on backend and it's done,but Servlet isn't triggered.
error, when 'script' param isn't correct:http://img190.imageshack.us/i/errormm.png/
Thank you for assistance.
This can have a lot of possible causes (also see the comments I posted).
url-pattern.It's hard to naildown the root cause based on the as far given information.
As you mentioned that you didn't see any request been fired in the "Net" tab of FireBug, I think that the JS code is simply syntactically/logically invalid. Rightclick page and doubleverify generated/printed JS code.
Update: I tried to reproduce your problem.
I downloaded jquery.uploadify-v2.1.0 (MIT), extracted it and put the entire contents in the /WebContent/uploadify folder of my (empty) playground web project in Eclipse.
I created a /WebContent/upload.jsp file as follows:
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Uploadify test</title>
        <script src="uploadify/jquery-1.3.2.min.js"></script>
        <script src="uploadify/swfobject.js"></script>
        <script src="uploadify/jquery.uploadify.v2.1.0.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $('#uploadify').uploadify({
                    'uploader': 'uploadify/uploadify.swf',
                    'script': 'uploadServlet',
                    'folder': '/uploads',
                    'cancelImg': 'uploadify/cancel.png'
                });
                $('#upload').click(function() {
                    $('#uploadify').uploadifyUpload();
                    return false;
                });
            });
        </script>
    </head>
    <body>
        <input id="uploadify" type="file">
        <a id="upload" href="#">Upload</a>
    </body>
</html>
I created a com.example.UploadServlet as follows with little help of Apache Commons FileUpload (just placed commons-fileupload-1.2.1.jar and commons-io-1.4.jar in /WEB-INF/lib):
package com.example;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class UploadServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
    {
        System.out.println("UploadServlet invoked. Here are all uploaded files: ");
        try {
            List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
            for (FileItem item : items) {
                if (!item.isFormField()) {
                    System.out.println("Name: " + item.getName());
                    System.out.println("Size: " + item.getSize());
                    System.out.println("Type: " + item.getContentType());
                }
            }
        } catch (Exception e) {
            throw new ServletException(e);
        }
    }
}
I registered com.example.UploadServlet in web.xml as follows:
<servlet>
    <servlet-name>uploadServlet</servlet-name>
    <servlet-class>com.example.UploadServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>uploadServlet</servlet-name>
    <url-pattern>/uploadServlet</url-pattern>        
</servlet-mapping>
I deployed the project, started the server, went to http://localhost:8080/playground/upload.jsp, selected a random big file from my downloads folder, clicked the Upload link, see the upload percentage counter growing to 100% and I finally see the following in the stdout:
UploadServlet invoked. Here are all uploaded files: Name: glassfish-v3-windows.exe Size: 50402555 Type: application/octet-stream
I'm sorry to say, I can't reproduce your problem. At least, the above information should help you to get started "freshly". Hope it helps.
Update: as per the comments, the filter expects that it is using the same session. Ok, you can do this fairly easy by changing
'<%= request.getContextPath() %>/uploadFile?portletId=${portletId}&remoteFolder=<%= decodedString %>',";
to
'<%= request.getContextPath() %>/uploadFile;jsessionid=${pageContext.session.id}?portletId=${portletId}&remoteFolder=<%= decodedString %>',";
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With