Hi I am Anoop. I am new in GWT. Its pretty nice. Congrats Google for a
good work. Here i am facing a problem with gwtupload. This code is
working in the local server. But when i uploaded in to the real server
its not working. A nullpointer exception occurred at the line "File
fileup = new File(request.getRealPath("uploads"));" in server side.
The folder "uploads" in existing in the uploaded war file. Please let
me know how to resolve this issue.
The code is given below.
Client side:
import gwtupload.client.IUploader;
import gwtupload.client.MultiUploader;
import gwtupload.client.PreloadedImage;
import gwtupload.client.SingleUploader;
import gwtupload.client.IUploadStatus.Status;
import gwtupload.client.PreloadedImage.OnLoadPreloadedImageHandler;
public SingleUploader getSingleUploader(final String host, final
String type) {
final SingleUploader uploader = new SingleUploader();
IUploader.OnFinishUploaderHandler onFinishSingleUploaderHandler
=
new IUploader.OnFinishUploaderHandler() {
public void onFinish(IUploader uploader) {
if (uploader.getStatus() == Status.SUCCESS) {
String
result=uploader.getServerResponse();
if (result.length() > 0) {
Window.alert("success,
response: "+result);
} else {
Window.alert("Unable to upload
file, response: "+result);
}
}
}
};
uploader.addOnFinishUploadHandler(onFinishSingleUploaderHandler);
return uploader;
}
Server Side:
import gwtupload.server.UploadAction;
import gwtupload.server.exceptions.UploadActionException;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Hashtable;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
public class UploadServer extends UploadAction {
Hashtable<String, File> receivedFiles = new Hashtable<String, File>
();
Hashtable<String, String> receivedContentTypes = new
Hashtable<String, String>();
FileItem srcFileItem;
String dstFileName = "";
@SuppressWarnings("deprecation")
@Override
public String executeAction(HttpServletRequest request,
List<FileItem> sessionFiles) throws UploadActionException {
for (FileItem item : sessionFiles) {
if (false == item.isFormField()) {
try {
File fileup = new
File(request.getRealPath("uploads"));
if (!fileup.exists()) {
fileup.mkdirs();
}
int dotPos =
item.getName().lastIndexOf(".");
String extension =
item.getName().substring(dotPos);
File file =
File.createTempFile("image-", extension, fileup);
item.write(file);
srcFileItem = item;
dstFileName = "uploads/" +
file.getName();
} catch (Exception e) {
e.printStackTrace();
dstFileName="Error: "+e.getMessage();
}
}
removeSessionFileItems(request);
}
return dstFileName;
}
private static final long serialVersionUID = 5246689163367051123L;
}
==========================================================
The exception at Server Side:
-------------------------------------------------
java.lang.NullPointerException
at java.io.File.(File.java:239)
at anoop.fileupload.server.UploadServer.executeAction
(UploadServer.java:41)
at gwtupload.server.UploadAction.doPost(UploadAction.java:157)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:151)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:
200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.java:704)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt
(ChannelSocket.java:897)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:636)
Dec 20, 2009 3:03:53 AM org.apache.tomcat.util.http.Parameters
processParameters
WARNING: Parameters: Invalid chunk ignored.
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.