Monday, 25 June 2012

dojo.iframe...upload,



this-------------is----------hte-------jsp
<%@page
    language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1" session="false"%>
<%@taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
<%@taglib
    uri="http://www.ibm.com/xmlns/prod/websphere/portal/v6.1/portlet-client-model"
    prefix="portlet-client-model"%><portlet-client-model:init>
    <portlet-client-model:require module="ibm.portal.xml.*" />
    <portlet-client-model:require module="ibm.portal.portlet.*" />
</portlet-client-model:init>
<portlet:defineObjects />
<%@ include file="../dojo_init.jspf"%>

<%=request.getContextPath() %>/
<!-- include PortletHelper class and create object -->
<script type="text/javascript">
dojo.require("portlet.namespace_f725594083.portlethelper.frameUpload");//The initial path segment portlet.namespace_f725594083 is already registerd.

//the portletHelper object may be used in writing the business logic related to JavaScript for this portlet
//and its methods can be called in the format: portletHelper_<portlet:namespace/>.handler(argsToPass);
var portletHelper_<portlet:namespace/>;

dojo.addOnLoad( function() {
      portletHelper_<portlet:namespace/> = new portlet.namespace_f725594083.portlethelper.frameUpload({portlet: portlet_<portlet:namespace/>});
} );
</script>
<!-- end include PortletHelper class and create object -->

<p>Place content here.</p>
<script type="text/javascript">
              dojo.require("dojo.io.iframe");
              dojo.require("dijit.form.Button");
              dojo.require("dojo.parser");
dojo.require("dijit.ProgressBar");

function showProgress(){
     var fileLength= dojo.byId('file').files.length;
     var fileSum=0;
         for(var k=0;k<fileLength;k++){
             var fileSize = new Array();
             var fileSize = new Array();
            var file= dojo.byId('file').files[k];
                   if (file) {     
                    if (file.size > 1024 * 1024){   
                        fileSize[k] = (Math.round(file.size * 100 / (1024 * 1024)) / 100);
                    }
                      else{
                        fileSize[k] = (Math.round(file.size * 100 / 1024) / 100);
                     }
                 fileSum=fileSum+fileSize[k];
                 alert(fileSum);
                }
        }        
   
          jsProgress.update({ maximum: fileSum, progress:0 });
     
             for (var i=0; i<=Math.ceil(fileSum); i++){
              setTimeout("jsProgress.update({ progress: " + i + " })",(i+1)*100);
             }
        
      }
   function xy(){
       jsProgress.destroy();
  
   }  
function sendFile() {
showProgress();

       dojo.io.iframe.send({
               url:'<portlet:actionURL/>', // Replace with yours
               method: "post",
               handleAs: "text",
               form: dojo.byId("upload"),
              
               load: function(response, ioArgs) {
                       // Do something more useful here, like refreshing a view or something
                         xy();
                         dojo.byId("progressStatus").innerHTML=response;
                       return response;
               },
               error: function(response, ioArgs) {
                       // Do something more useful here, like informing the user there was

                       console.log("Upload FAILED!!!", response, ioArgs);
                       return response;
               }
              
              
       });
}
</script>
<div id="widgetContainer_<portlet:namespace/>">
    <form id="upload" name="upload" method="post"
        enctype="multipart/form-data">
        <label for="file">File to upload: </label> <input type="file"
            name="file" id="file" multiple="true">
        <button dojoType="dijit.form.Button" type="button" value="Send File"
            onclick="sendFile()">Send File</button>
        <div dojoType="dijit.ProgressBar"
            id="progressBar_<portlet:namespace/>" style="width: 200px;"
        jsId="jsProgress"></div>
        <div id="progressStatus"></div>
    </form>
</div>

this----------is-----------the------------portlet------server-------side processing



package com.ibm.fileuploading;

import java.io.*;
import java.util.Iterator;
import java.util.List;

import javax.portlet.*;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.portlet.PortletFileUpload;

/**
 * A sample portlet
 */
public class FileUploadingPortlet extends javax.portlet.GenericPortlet implements ResourceServingPortlet {
   
    @Override
    public void serveResource(ResourceRequest request, ResourceResponse response)
            throws PortletException, IOException {
        System.out.println("Serve resource entered");
       
    }

    /**
     * @see javax.portlet.Portlet#init()
     */
    public void init() throws PortletException {
        super.init();
    }

    /**
     * Serve up the <code>view</code> mode.
     *
     * @see javax.portlet.GenericPortlet#doView(javax.portlet.RenderRequest,
     *      javax.portlet.RenderResponse)
     */
    public void doView(RenderRequest request, RenderResponse response)
            throws PortletException, IOException {
        // Set the MIME type for the render response
        System.out.println("entering");
        response.setContentType(request.getResponseContentType());
        ResourceURL resUrl = response.createResourceURL();
        request.setAttribute("resUrl", resUrl);
        //
        // TODO: auto-generated method stub for demonstration purposes
        //

        // Invoke the JSP to render, replace with the actual jsp name
        if(request.getParameter("requiredFile")!=null){
            System.out.println(";;;;;;;;;;"+request.getParameter("requiredFile"));
           
            response.getWriter().write("<html><head></head><textarea>"+request.getParameter("requiredFile")+"</textarea></html>");
        }
        PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(
                "/jsps/frameUpload.jsp");
        rd.include(request, response);

        // or write to the response directly
        // response.getWriter().println("FileUploading#doView()");
    }

    /**
     * Serve up the <code>edit</code> mode.
     *
     * @see javax.portlet.GenericPortlet#doEdit(javax.portlet.RenderRequest,
     *      javax.portlet.RenderResponse)
     */
    public void doEdit(RenderRequest request, RenderResponse response)
            throws PortletException, IOException {
        // TODO: auto-generated method stub
    }

    /**
     * Serve up the <code>help</code> mode.
     *
     * @see javax.portlet.GenericPortlet#doHelp(javax.portlet.RenderRequest,
     *      javax.portlet.RenderResponse)
     */
    protected void doHelp(RenderRequest request, RenderResponse response)
            throws PortletException, IOException {
        // TODO: auto-generated method stub
    }

    /**
     * Process an action request.
     *
     * @see javax.portlet.Portlet#processAction(javax.portlet.ActionRequest,
     *      javax.portlet.ActionResponse)
     */
    public void processAction(ActionRequest request, ActionResponse response)
            throws PortletException, java.io.IOException {
        String filesUploaded="succesfully uploades files are ";
        System.out.println("SampleFileUploadPortlet.processAction()");
        // Check that we have a file upload request
        boolean isMultipart = PortletFileUpload.isMultipartContent(request);
        System.out
                .println("SampleFileUploadPortlet.processAction() is Multipart"
                        + isMultipart);
        try {

            if (isMultipart) {
                // Create a factory for disk-based file items
                FileItemFactory factory = new DiskFileItemFactory();

                // Create a new file upload handler
                PortletFileUpload upload = new PortletFileUpload(factory);

                // Parse the request
                List /* FileItem */items = upload.parseRequest(request);

                // Process the uploaded items
                System.out
                .println("SampleFileUploadPortlet.processAction()  "+items.size());
                Iterator iter = items.iterator();
                while (iter.hasNext()) {
                    FileItem item = (FileItem) iter.next();

                if (item.isFormField()) {
                        System.out
                                .println("SampleFileUploadPortlet.processAction()  ");

                 } else {
                        String fieldName = item.getFieldName();
                        String fileName = item.getName();
                        String contentType = item.getContentType();
                        boolean isInMemory = item.isInMemory();
                        long sizeInBytes = item.getSize();
                        String filesize = "" + sizeInBytes;
                        System.out
                                .println("SampleFileUploadPortlet.processAction() The values are "
                                        + "::"
                                        + fieldName
                                        + " :: "
                                        + fileName
                                        + "::" + sizeInBytes);

                        // int val =fileName.lastIndexOf("\\");
                        // String newFileName = fileName.substring(val+1);
                        // System.out.println("The value of new fileName is " +
                        // newFileName);

                        File uploadedFile = new File("C:\\uploadedfiles\\"+fileName);
                        //uploadedFile.createNewFile();
                        int filelength = (int) uploadedFile.length();
                        item.write(uploadedFile);
                        filesUploaded=filesUploaded+fileName+"  ";
                        System.out.println(filesUploaded);
                        System.out.println("completed");
                        response.setRenderParameter("requiredFile",
                                filesUploaded);
                    }
                }

            }

        } catch (Exception e) {
            System.out
                    .println("SampleFileUploadPortlet.processAction() Error occured");
            e.printStackTrace();
        }
    }

}












No comments:

Post a Comment

Custom single threaded java server

 package com.diffengine.csv; import java.io.*; import java.net.*; import java.util.Date; public class Server { public static void main(Str...