0

Hi
I have a problem in upload file using jsp.At localhost it is working file but at server when client upload a word document it is corrupted .A text file is uploaded successfully.

Please Help

4
Contributors
4
Replies
10
Views
8 Years
Discussion Span
Last Post by ~s.o.s~
0

Would be much helpful if you post your code or at least the crucial part as we are not good in mind reading :idea:

0

Thanks For reply.AT linux server the code is given below

<%@ page import="java.io.*" %>

<%
try
{
String client=(String)session.getAttribute("clientid");
String contentType = request.getContentType();
FileOutputStream fileOut=null;
String file="";
String SaveFile="";
if ((contentType != null) && (contentType.indexOf("multipart/form-data") >= 0)) {
DataInputStream in = new DataInputStream(request.getInputStream());
int formDataLength = request.getContentLength();
byte dataBytes[] = new byte[formDataLength];
int byteRead = 0;
int totalBytesRead = 0;
while (totalBytesRead < formDataLength) 
	{
byteRead = in.read(dataBytes,totalBytesRead,formDataLength);
totalBytesRead += byteRead;
}

 file = new String(dataBytes);
String saveFile = file.substring(file.indexOf("filename=\"") + 10);
saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
saveFile = saveFile.substring(saveFile.lastIndexOf("/") + 1,saveFile.indexOf("\""));


int lastIndex = contentType.lastIndexOf("=");
String boundary = contentType.substring(lastIndex + 1,contentType.length());
//out.println(boundary);
int pos;
pos = file.indexOf("filename=/"+1);

pos = file.indexOf("\n", pos) + 1;

pos = file.indexOf("\n", pos) + 1;

pos = file.indexOf("\n", pos) + 1;


int boundaryLocation = file.indexOf(boundary, pos) - 4;
int startPos = ((file.substring(0, pos)).getBytes()).length;
int endPos = ((file.substring(0, boundaryLocation)).getBytes()).length;
String appPath = application.getRealPath("/")+"upload files/";  
  
    String dir2=appPath+client+"/";
  File f = new File(dir2);
	boolean ok = f.mkdirs();
	  String destFolder = dir2;  
saveFile= destFolder + saveFile; 
 fileOut = new FileOutputStream(saveFile);


fileOut.write(dataBytes);
fileOut.write(dataBytes, startPos,(endPos - startPos));
fileOut.flush();
	
fileOut.close();



}
}
 catch (Exception e){    

   }
%>
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.