Well, I set my 'setSizeThreshold()' to a fairly large number (2^24 or 16,777,216 or 16MB, far larger than the size of my file), but it is still doubling in size when uploaded.

Again, strangely, I'm getting two files written, one automatically
(which I thought would be gone now?) and one manually.

The one written automatically (upload_0000002.xml) is correct (about 1MB); a copy of the file I uploaded. Another file, which was created with this line:

item.write(File.createTempFile("portaltest-", null));

Comes back as twice the size, about 2MB, as portaltest-63344.tmp.

I can/will hook up a tcp monitor, but the problem with that is, I'm
sending up a lot of data, at least 1MB of XML.  Whenever I do small
files, say ~100KB, it works fine.  So, here are my questions:

1) If I'm setting the 'setSizeThreshold()' large enough, why is it *still* writing out a temp file to disk? Is this normal?

2) The documentation for 'getSizeThreshold()' says: "Returns the size threshold beyond which files are written directly to disk. The default value is 1024 bytes". But when I do a 'getSizeThreshold()' I get 10240. Is the documentation simply stale?

3) What happens between when the uploaded file is temporarily written to disk, and when the 'parseRequest()' is called? Between these two events is when the size problems seem to manifest.

Thanks-
Robert

Martin Cooper wrote:
On 6/18/06, Robert J. Carr <[EMAIL PROTECTED]> wrote:

Mike/Martin-

I will hook up a monitor (I'm familiar with tcpmon) but as I explained, it
seems to be beyond that point, as the file is written to disk correctly
when done automatically, but then written incorrectly when done manually
(or when referred to).


What's strange, though, is that nobody else has reported this kind of
problem, and the difference between the servlet and portlet code is
miniscule. The size of a file item is determined from the content itself by
the same code for both cases.

I've read about a file-writing size threshold, and perhaps this is
configurable?


Yes, it is. You can call the setSizeThreshold method on the file item
factory. See the user guide for an example.

--
Martin Cooper


 As I also explained, the problem only seems to happen with
large files, when they are written to disk and pass this threshold.  Not
an ideal fix, but if I just move this threshold up considerably higher,
I'm guessing it would work, and would at least allow me to see something
different.

I'll try that, and attach the moitor, and report my results.  Thanks for
the time.

Robert

On Sat, 17 Jun 2006, Mike Sparr - www.goomzee.com wrote:

> Martin,
>
> http://ethereal.com/  (very easy to use and when you run it, you can
choose
> which network adapter to capture traffic.  After you capture, then you
can
> run the viewer to analyze).
>
> In addition, I believe AXIS includes a network monitoring tool built
into
> the library so you may want to use that.  Perhaps you could tweak it to
> Monitor other traffic, but again SOAP is http...
>
> org.apache.axis.monitor.SOAPMonitorService
>
> Hope that helps,
>
>
> Mike
>
>
>
>
> On 6/17/06 4:14 PM, "Martin Cooper" <[EMAIL PROTECTED]> wrote:
>
> > On 6/15/06, Robert J. Carr <[EMAIL PROTECTED]> wrote:
> >>
> >> I am attempting to use the fileupload package and having strange
> >> results.  I have a file type form element that I am uploading an xml
> >> file through to.  The xml file I'm uploading is about 1.1MB
.  However,
> >> when I print some of the metadata about the uploaded FileItem, here's
> >> what I get:
> >
> >
> > Do you have any way of capturing what's on the wire, so that we could
look
> > at the contents of the incoming request? Maybe Windows Network Monitor
or
> > Ethereal or something? Without that, it will be hard to figure out
what's
> > going on.
> >
> > --
> > Martin Cooper
> >
> >
> > content-type: text/xml
> >> size: 2363688 (via getSize())
> >> length: 2363688 (via get().length)
> >>
> >> When I look in my tomcat temp directory, I see a file:
> >>
> >> upload_000000014.xml
> >>
> >> Which is the correct file, it is 1.1MB and passes diff.
> >>
> >> However, when I attempt to write the file to disk:
> >>
> >> item.write(File.createTempFile("portaltest-", null));
> >>
> >> I get a file written:
> >>
> >> portaltest-64578.tmp
> >>
> >> Which is incorrect, and a size of 2.3 MB (which matches the size
above).
> >>
> >> I'm using the latest 1.1.1 release (but same thing happens with 1.1).
> >> To get my fileitems, I make this sequence of calls:
> >>
> >> FileItemFactory factory = new DiskFileItemFactory();
> >> PortletFileUpload upload = new PortletFileUpload(factory);
> >> List<FileItem> items = (List<FileItem>) upload.parseRequest(request);
> >>
> >> To add another twist, this seems to work fine for smaller files (less
> >> than about 50KB in size).
> >>
> >> I'm also getting an exception thrown later, and not entirely sure
where
> >> it is coming from.  It may be a red herring, but I'll include it for
> >> completeness:
> >>
> >> java.io.FileNotFoundException:
> >>
> >>
>
/opt/java/LiferayPro3.6.1/temp/upload__41c20f98_10bd8eb6a9d__7ffe_00000002.tm>>
> p
> >> (No such file or directory)
> >>
> >> So I have no idea what is going on. My form is pretty basic ... here
it
> >> is as well:
> >>
> >> <form name="<portlet:namespace />fm" action="<portlet:actionURL />"
> >> method="post" enctype="multipart/form-data">
> >>    <input type="file" name="<portlet:namespace />rdssxml" />
> >> </form>
> >>
> >> Any help would be appreciated.  Are there other upload packages
similar
> >> to filupload that I could try?  I've always found the jakarta tools
to
> >> be the most consistently well done, but I would like to test just for
> >> sanity.
> >>
> >> Thanks-
> >> Robert
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to