Hi,
I'm using FileUpload to process a file uploaded from Internet Explorer
via Jscript, there's no direct form submit but I use the XMLHTTP object
since I want control over the result. This is my client code
function go() {
// I skip some details
var fileName = ...;
var url = ... + "&fileName=" + fileName;
var adoStream = new ActiveXObject("ADODB.Stream");
adoStream.Mode = 3;
adoStream.Type = 1;
adoStream.Open();
adoStream.LoadFromFile(fileName);
var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
xmlhttp.open("POST", url, false);
var boundary = "----------This_Is_The_Boundary_\r\n";
xmlhttp.setRequestHeader("Content-Type","multipart/form-data;
boundary=" + boundary);
xmlhttp.setRequestHeader("Content-Length", adoStream.Size);
xmlhttp.send(adoStream.Read(adoStream.Size));
}
Then I want to save the file on the server. In my servlet I have this
code:
String path = ...
DiskFileUpload upload = new DiskFileUpload();
upload.setRepositoryPath(path);
try {
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField()) {
fileName = item.getName();
File uploadedFile = new File(fileName);
item.write(uploadedFile);
}
}
} catch(Exception e) {
...
}
But the parseRequest() returns an empty list. I've debugged the
FileUpload code and the problem is that in the discardBodyData() of the
class MultipartStream a MalformedStreamException("Stream ended
unexpectedly") is thrown and parseRequest() returns an empty collection.
So I wonder what's wrong with my uploading... Any idea?
Thanks in advance,
Andrea
----------------------------------
Andrea Giovannini
Java Software Architect
Gruppo Formula S.p.A.
----------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]