final HTMLIFrameFileUpload iframeUpload = iframe.getHTMLIFrameFileUpload(input.getHTMLInputElement());
ItsNatServletRequestListener listener = new ItsNatServletRequestListenerSerial()
{
public void processRequest(ItsNatServletRequest request, ItsNatServletResponse response)
{
FileUploadRequest fileUpReq = iframeUpload.processFileUploadRequest(request, response);
StringBuilder html = new StringBuilder();
html.append("<html><head /><body>");
html.append("<p>Content Type:\"" + fileUpReq.getContentType() + "\"</p>");
html.append("<p>Field Name:\"" + fileUpReq.getFieldName() + "\"</p>");
html.append("<p>File Name:\"" + fileUpReq.getFileName() + "\"</p>");
html.append("<p>File Size:\"" + fileUpReq.getFileSize() + "\"</p>");
FileInputStream fileOrig = null;
try
{
fileOrig = new FileInputStream(fileUpReq.getFileName());
}
catch(IOException ex)
{
html.append("<h2>Cannot test a local file</h2>");
}
try
{
InputStream fileUp = fileUpReq.getFileUploadInputStream();
long count = 0;
if (fileOrig != null)
{
int b1,b2;
do
{
b1 = fileOrig.read();
b2 = fileUp.read();
if (b1 != b2) throw new RuntimeException("Different Files");
count++;
}
while ((b1 != -1) && (b2 != -1));
}
else
{
int b;
do
{
b = fileUp.read();
count++;
}
while (b != -1);
}
count--; // Quitamos la lectura del -1
long fileSize = fileUpReq.getFileSize();
if (fileSize != count) throw new RuntimeException("Wrong File Size");
html.append("</body></html>");
ServletResponse servRes = response.getServletResponse();
servRes.getWriter().print(html.toString());