I created a project inside the ofbiz/hot-deploy
folder namely productionmgntSystem
. Inside the folder ofbizhot-deployproductionmgntSystemwebappproductionmgntSystem
I created a .ftl
file namely app_details_1.ftl
.The following is the code of this file
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script TYPE="TEXT/JAVASCRIPT" language=""JAVASCRIPT">
function uploadFile()
{
//alert("Before calling upload.jsp");
window.location= <@ofbizUrl>testing_service1</@ofbizUrl>
}
</script>
</head>
<!-- <form action="<@ofbizUrl>testing_service1</@ofbizUrl>" enctype="multipart/form-data" name="app_details_frm"> -->
<form action="<@ofbizUrl>logout1</@ofbizUrl>" enctype="multipart/form-data" name="app_details_frm">
<center style="height: 299px; ">
<table border="0" style="height: 177px; width: 788px">
<tr style="height: 115px; ">
<td style="width: 103px; ">
<td style="width: 413px; "><h1>APPLICATION DETAILS</h1>
<td style="width: 55px; ">
</tr>
<tr>
<td style="width: 125px; ">Application name : </td>
<td>
<input name="app_name_txt" id="txt_1" value=" " />
</td>
</tr>
<tr>
<td style="width: 125px; ">Excell sheet : </td>
<td>
<input type="file" name="filename"/>
</td>
</tr>
<tr>
<td>
<!-- <input type="button" name="logout1_cmd" value="Logout" onclick="logout1()"/> -->
<input type="submit" name="logout_cmd" value="logout"/>
</td>
<td>
<!-- <input type="submit" name="upload_cmd" value="Submit" /> -->
<input type="button" name="upload1_cmd" value="Upload" onclick="uploadFile()"/>
</td>
</tr>
</table>
</center>
</form>
</html>
the following coding is present in the file "ofbizhot-deployproductionmgntSystemwebappproductionmgntSystemWEB-INFcontroller.xml"
......
.......
........
<request-map uri="testing_service1">
<security https="true" auth="true"/>
<event type="java" path="org.ofbiz.productionmgntSystem.web_app_req.WebServices1" invoke="testingService"/>
<response name="ok" type="view" value="ok_view"/>
<response name="exception" type="view" value="exception_view"/>
</request-map>
..........
............
..........
<view-map name="ok_view" type="ftl" page="ok_view.ftl"/>
<view-map name="exception_view" type="ftl" page="exception_view.ftl"/>
................
.............
.............
The following is the code in the file ofbizhot-deployproductionmgntSystemsrcorgofbizproductionmgntSystemweb_app_reqWebServices1.java
package org.ofbiz.productionmgntSystem.web_app_req;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.DataInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class WebServices1
{
public static String testingService(HttpServletRequest request, HttpServletResponse response)
{
//int i=0;
String result="ok";
System.out.println("
*************************************
Inside WebServices1.testingService(HttpServletRequest request, HttpServletResponse response)- Start");
String contentType=request.getContentType();
System.out.println("
*************************************
Inside WebServices1.testingService(HttpServletRequest request, HttpServletResponse response)- contentType : "+contentType);
String str=new String();
// response.setContentType("text/html");
//PrintWriter writer;
if ((contentType != null) && (contentType.indexOf("multipart/form-data") >= 0))
{
System.out.println("
**********************************
Inside WebServices1.testingService(HttpServletRequest request, HttpServletResponse response) after if (contentType != null)");
try
{
// writer=response.getWriter();
System.out.println("
**********************************
Inside WebServices1.testingService(HttpServletRequest request, HttpServletResponse response) - try Start");
DataInputStream in = new DataInputStream(request.getInputStream());
int formDataLength = request.getContentLength();
byte dataBytes[] = new byte[formDataLength];
int byteRead = 0;
int totalBytesRead = 0;
//this loop converting the uploaded file into byte code
while (totalBytesRead < formDataLength)
{
byteRead = in.read(dataBytes, totalBytesRead,formDataLength);
totalBytesRead += byteRead;
}
String file = new String(dataBytes);
//for saving the file name
String saveFile = file.substring(file.indexOf("filename="") + 10);
saveFile = saveFile.substring(0, saveFile.indexOf("
"));
saveFile = saveFile.substring(saveFile.lastIndexOf("\")+ 1,saveFile.indexOf("""));
int lastIndex = contentType.lastIndexOf("=");
String boundary = contentType.substring(lastIndex + 1,contentType.length());
int pos;
//extracting the index of file
pos = file.indexOf("filename="");
pos = file.indexOf("
", pos) + 1;
pos = file.indexOf("
", pos) + 1;
pos = file.indexOf("
", 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;
//creating a new file with the same name and writing the content in new file
FileOutputStream fileOut = new FileOutputStream("/"+saveFile);
fileOut.write(dataBytes, startPos, (endPos - startPos));
fileOut.flush();
fileOut.close();
System.out.println("
**********************************
Inside WebServices1.testingService(HttpServletRequest request, HttpServletResponse response) - try End");
}
catch(IOException ioe)
{
System.out.println("
*********************************
Inside WebServices1.testingService(HttpServletRequest request, HttpServletResponse response) - Catch IOException");
//ioe.printStackTrace();
return("exception");
}
catch(Exception ex)
{
System.out.println("
*********************************
Inside WebServices1.testingService(HttpServletRequest request, HttpServletResponse response) - Catch Exception");
return("exception");
}
}
else
{
System.out.println("
********************************
Inside WebServices1.testingService(HttpServletRequest request, HttpServletResponse response) else part");
result="exception";
}
System.out.println("
*************************************
Inside WebServices1.testingService(HttpServletRequest request, HttpServletResponse response)- End");
return(result);
}
}
I want to upload a file to the server.The file is get from user <input type="file"..>
tag in the app_details_1.ftl
file & it is updated into the server by using the method testingService(HttpServletRequest request, HttpServletResponse response)
in the class WebServices1
. But the file is not uploaded.