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