aspose file tools*
The moose likes JSP and the fly likes uploading a photo Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » JSP
Bookmark "uploading a photo" Watch "uploading a photo" New topic
Author

uploading a photo

victor bwalya
Greenhorn

Joined: Jan 03, 2012
Posts: 4
hai hav been trying to upload a photo but am getting an error PLIZ HELP.



this is the error message am getting

[ The value for the useBean class attribute javazoom.upload.UploadBean is invalid.]

andthis is the CODE




<html>
<body bgcolor="#333333">

<%@ page language="java" import="javazoom.upload.*,java.util.*,java.io.*" %>
<%@ page errorPage="ExceptionHandler.jsp" %>

<% String directory = "c:/Missing Person"; %>
<% String tmpdirectory = "c:/Missing Person/tmp"; %>
<% boolean createsubfolders = true; %>
<% boolean allowresume = true; %>
<% boolean allowoverwrite = true; %>
<% String encoding = "ISO-8859-1"; %>
<% boolean keepalive = false; %>

<jsp:useBean id="upBean" scope="page" class="javazoom.upload.UploadBean" >
<jsp:setProperty name="upBean" property="folderstore" value="<%= directory %>" />
<jsp:setProperty name="upBean" property="parser" value="<%= MultipartFormDataRequest.CFUPARSER %>"/>
<jsp:setProperty name="upBean" property="parsertmpdir" value="<%= tmpdirectory %>"/>
<jsp:setProperty name="upBean" property="filesizelimit" value="8589934592"/>
<jsp:setProperty name="upBean" property="overwrite" value="<%= allowoverwrite %>"/>
<jsp:setProperty name="upBean" property="dump" value="true"/>
</jsp:useBean>

<%
//request.setCharacterEncoding(encoding);
//response.setContentType("text/html; charset="+encoding);
String method = request.getMethod();
// Head processing to support resume and overwrite features.
if (method.equalsIgnoreCase("head"))
{
String filename = request.getHeader("relativefilename");
if (filename == null) filename = request.getHeader("filename");
if (filename!=null)
{
if (keepalive == false) response.setHeader("Connection","close");
String account = request.getHeader("account");
if (account == null) account="";
else if (!account.startsWith("/")) account = "/"+account;
File fhead = new File(directory+account+"/"+filename);
if (fhead.exists())
{
response.setHeader("size", String.valueOf(fhead.length()));
String checksum = request.getHeader("checksum");
if ((checksum != null) && (checksum.equalsIgnoreCase("crc")))
{
long crc = upBean.computeCRC32(fhead,-1);
if (crc != -1) response.setHeader("checksum", String.valueOf(crc));
}
else if ((checksum != null) && (checksum.equalsIgnoreCase("md5")))
{
String md5 = upBean.hexDump(upBean.computeMD5(fhead,-1)).toLowerCase();
if ((md5 != null) && (!md5.equals(""))) response.setHeader("checksum", md5);
}
}
else response.sendError(HttpServletResponse.SC_NOT_FOUND);
return;
}
}
%>
<html>
<head>
<title>Samples : Large Upload + jClientUpload Applet support</title>
<style TYPE="text/css">
<!--
.style1 {
font-size: 12px;
font-family: Verdana;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=<%= encoding %>">




<script language="Javascript"><!--

function doClean()
{
document.upload.todo.value="cleanstore";
document.upload.submit();
}
//--></script>
</head>
<body>
<ul class="style1">
<%
if (MultipartFormDataRequest.isMultipartFormData(request))
{
// Parse multipart HTTP POST request.
MultipartFormDataRequest mrequest = null;
try
{
mrequest = new MultipartFormDataRequest(request,null,-1,MultipartFormDataRequest.CFUPARSER,encoding,allowresume);
} catch (Exception e)
{
// Cancel current upload (e.g. Stop transfer)
// Only if allowresume = false
}
String todo = null;
if (mrequest != null) todo = mrequest.getParameter("todo");
if ( (todo != null) && (todo.equalsIgnoreCase("upload")) )
{
String account = mrequest.getParameter("account");
if (account == null) account="";
else if (!account.startsWith("/")) account = "/"+account;
upBean.setFolderstore(directory+account);
Hashtable files = mrequest.getFiles();
if ( (files != null) && (!files.isEmpty()) )
{
UploadFile file = (UploadFile) files.get("uploadfile");
if (file != null) out.println("<b> Successfully Uploaded the Missing Person's photo : "+file.getFileName());
// Folders and subfolders creation support.
String relative = mrequest.getParameter("relativefilename");
if ((createsubfolders == true) && (relative != null))
{
int inda=relative.length();
int indb=file.getFileName().length();
if (inda > indb)
{
String subfolder = relative.substring(0,(inda-indb)-1);
subfolder = subfolder.replace('\\','/').replace('/',java.io.File.separatorChar);
upBean.setFolderstore(directory+account+java.io.File.separator+subfolder);
}
}
if (keepalive == false) response.setHeader("Connection","close");
// Chunks recomposion support.
String chunkidStr = mrequest.getParameter("chunkid");
String chunkamountStr = mrequest.getParameter("chunkamount");
String chunkbaseStr = mrequest.getParameter("chunkbase");
if ((chunkidStr != null) && (chunkamountStr != null) && (chunkbaseStr != null))
{
// Always overwrite chunks.
upBean.setOverwrite(true);
upBean.store(mrequest, "uploadfile");
upBean.setOverwrite(allowoverwrite);
int chunkid = Integer.parseInt(chunkidStr);
int chunkamount = Integer.parseInt(chunkamountStr);
if (chunkid == chunkamount)
{
// recompose file.
String fname = upBean.getFolderstore()+java.io.File.separator+chunkbaseStr;
File fread = new File(fname);
if (fread.canRead() && (upBean.getOverwrite()==false)) fname = upBean.loadOverwriteFilter().process(fname);
FileOutputStream fout = new FileOutputStream(fname);
byte[] buffer = new byte[4096];
for (int c=1;c<=chunkamount;c++)
{
File filein = new File(upBean.getFolderstore()+java.io.File.separator+chunkbaseStr+"."+c);
FileInputStream fin = new FileInputStream(filein);
int read = -1;
while ((read = fin.read(buffer)) > 0) fout.write(buffer,0,read);
fin.close();
filein.delete();
}
fout.close();
}
}
else upBean.store(mrequest, "uploadfile");
upBean.setFolderstore(directory+account);
}
else
{
String emptydirectory = mrequest.getParameter("emptydirectory");
if ((emptydirectory != null) && (!emptydirectory.equals("")))
{
File dir = new File(directory+account+"/"+emptydirectory);
dir.mkdirs();
}
out.println("<li>No uploaded files");
}
}

else if ( (todo != null) && (todo.equalsIgnoreCase("cleanstore")) )
{
upBean.resetStore();
out.println("<BR>Store cleaned");
}

}
%>
</ul>
<form method="post" action="umLargeUpload.jsp" name="upform" enctype="multipart/form-data">
<table width="60%" border="0" cellspacing="1" cellpadding="1" align="center" class="style1">
<tr>
<td align="left"><b>Select a file to upload :</b></td>
</tr>
<tr>
<td align="left">
<input type="hidden" name="todo" value="upload">
<input type="file" name="uploadfile" size="50">
</td>
</tr>
<tr>
<td align="left">
<input type="submit" name="Submit" value="Upload">
<input type="reset" name="Reset" value="Cancel">
</td>
</tr>
</table>
<p> </p>
</form>
</body>
</html>
Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18902
    
    8

Instead of putting all of that Java code into a JSP, you would be better off putting it into a servlet. Much easier to work with, much less amateurish too. You don't need all of that JSP baggage to upload a file.
victor bwalya
Greenhorn

Joined: Jan 03, 2012
Posts: 4
so how do i do that,,i still cnt manage to upload,its still givin me the same error!
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61648
    
  67

That is impossible. If you have moved the code to a servlet, there's no useBean tag to generate the error.

Putting Java code in a JSP is an anti-pattern that has been discredited for 10 years now. Put the code into a servlet where it belongs.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
victor bwalya
Greenhorn

Joined: Jan 03, 2012
Posts: 4
i dont know were doing it wrong,,can you help me put the code into a servlet,,,PLEASE!
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61648
    
  67

Have you ever written a servlet? If not, there are plenty of tutorials on how to write and map a servlet. First step would be to get a simple "hello world" servlet running. Then you can use that as a pattern to write the upload servlet.
Stefan Evans
Bartender

Joined: Jul 06, 2005
Posts: 1018
Converting a JSP to a servlet is easy.
Copy everything between the <% and %> tags, and paste it into the doPost method of a servlet.

Taking a quick glance you can pull out the bit that checks for method of type head, and put the relevant code into the doHead method of a servlet.
victor bwalya
Greenhorn

Joined: Jan 03, 2012
Posts: 4
can anyone rewrite this code converting it into a servlet ? because i have gone through alot of tutorials concerning the same,but i still cant get it done. i guess there is some thing that am not doing right ;
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61648
    
  67

Then tell us what the problems you are having are. This is not the place to try and get someone to do your work for you.
 
 
subject: uploading a photo