tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pid <...@pidster.com>
Subject Re: Tomcat 5.5 creates 0 byte files
Date Fri, 02 Jul 2010 13:29:10 GMT
On 02/07/2010 13:47, Murat Birben wrote:
> I've tried apache.commons.fileupload api but the result doesn't change.=
 I
> set the selenium waitForPageToLoad prop very small to produce the probl=
em
> and when time exceeded test fails and thousands of 0 bytes are generate=
d.
> I'll try the oreilly fileupload api too but it seems to me as the reaso=
n is
> not about the upload api.
>=20
> Is there anyone has another idea about this?

It's been a while, since I used commons-file-upload, but I remember the
examples being fairly comprehensive.  The streaming API seemed nicer to u=
se.

I don't remember being forced to write a file to the disk, maybe you can
catch the error and not write the file at all.


p



> On Fri, Jul 2, 2010 at 3:19 PM, Ralph Carlson <RACARLSON@mediacomcc.com=
>wrote:
>=20
>> you can also try the oreilly file upload api, I have used it in many
>> projects without issue
>>
>> http://www.servlets.com/cos/ (download)
>> http://java.itags.org/java-essentials/11012/ (an example)
>> ________________________________________
>> From: users-return-214291-RACARLSON=3Dmediacomcc.com@tomcat.apache.org=
[users-return-214291-RACARLSON=3D
>> mediacomcc.com@tomcat.apache.org] On Behalf Of Murat Birben [
>> muratbirben@gmail.com]
>> Sent: Friday, July 02, 2010 6:01 AM
>> To: Tomcat Users List; pid@pidster.com
>> Subject: Re: Tomcat 5.5 creates 0 byte files
>>
>> Yes 0 byte files are causing the disk to run out of space
>>
>> @Andre Warnier
>> I'm not actually saving files on the server. I just tried to simplify =
my
>> problem and tried that simple code. Now i'll give a try to apache
>> fileupload
>> api, thanks for advice
>>
>> On Fri, Jul 2, 2010 at 11:52 AM, Pid <pid@pidster.com> wrote:
>>
>>> On 02/07/2010 09:43, Murat Birben wrote:
>>>> Hi all,
>>>>
>>>> I have a very simple file upload mechanism in java. I just take the
>> file
>>> and
>>>> save it on the server. I'm testing this simple code with selenium an=
d
>>> *when
>>>> a timeout occurs in the selenium test *tomcat creates 0 byte files
>> under
>>>> tomcat_home/work/Catalina/localhost/uploadServlet/ directory as
>>> MultiPart*
>>>> files. It creates thousands of files, until there is no disk space l=
eft
>>> on
>>>> device. What may cause this problem? How can I solve this? Is there
>>> anyone
>>>> has an idea about this?
>>>
>>> Thousands of 0 byte files are causing the disk to run out of space?
>>>
>>>
>>> p
>>>
>>>> My environment is: Ubuntu - 8.04 server, apache tomcat - 5.5.29, sun=

>> java
>>>> 1.6
>>>>
>>>> Thanks,
>>>>
>>>> Here is the code snippet that i use
>>>>
>>>>         File fFile =3D null;
>>>>         FileOutputStream fileOutputStream =3D null;
>>>>         FileInputStream fileInputStream =3D null;
>>>>         try {
>>>>
>>>>             String strFileName =3D request.getParameter("FileName");=

>>>>             String strPath =3D request.getParameter("Path");
>>>>             //String strMediaType =3D request.getParameter("MediaTyp=
e");
>>>>
>>>>             //String strDescription =3D
>>> request.getParameter("Description");
>>>>             fFile =3D (File) request.getAttribute("Content");
>>>>
>>>>             int index =3D strPath.length() - 1; //If the user forget=
s to
>>>> put the last / for the path... We put it for him/her
>>>>
>>>>             if (strPath.charAt(index) !=3D '/') {
>>>>                 strPath +=3D "/";
>>>>             }
>>>>             if (!new File(strPath).exists()) {
>>>>                 new File(strPath).mkdirs();
>>>>             }
>>>>
>>>>             File file =3D new File(strPath + strFileName);
>>>>             fileOutputStream =3D new FileOutputStream(file);
>>>>             fileInputStream =3D new FileInputStream(fFile);
>>>>
>>>>             byte[] bBuf =3D new byte[1024];
>>>>
>>>>             int iBufLen =3D 0;
>>>>             int iReadLen =3D 1024;
>>>>             int iTotelLen =3D 0;
>>>>             /*read 1024 bytes at a time*/
>>>>             while ((iBufLen =3D fileInputStream.read(bBuf)) !=3D -1)=
 {
>>>>
>>>>                 fileOutputStream.write(bBuf);
>>>>                 fileOutputStream.flush();
>>>>                 iTotelLen +=3D iBufLen;
>>>>                 if (fileInputStream.available() < iReadLen) {
>>>>                     iReadLen =3D fileInputStream.available();
>>>>
>>>>                     break;
>>>>                 }
>>>>             }
>>>>
>>>>             byte[] tempbBuf =3D new byte[iReadLen];
>>>>             fileInputStream.read(tempbBuf, 0, iReadLen);
>>>>
>>>>             fileOutputStream.write(tempbBuf);
>>>>
>>>>
>>>>         } catch (IOException ex) {
>>>>             ex.printStackTrace();
>>>>         } finally {
>>>>             fileOutputStream.close();
>>>>             fileInputStream.close();
>>>>
>>>>             if (fFile.exists()) {
>>>>
>>>>                 fFile.delete();
>>>>             }
>>>>         }
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>> --
>> Murat BIRBEN
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>=20
>=20



Mime
View raw message