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 problem
> and when time exceeded test fails and thousands of 0 bytes are generated.
> I'll try the oreilly fileupload api too but it seems to me as the reason is
> not about the upload api.
> 
> 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 use.

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:
> 
>> 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=mediacomcc.com@tomcat.apache.org[users-return-214291-RACARLSON=
>> 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 and
>>> *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 left
>>> 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 = null;
>>>>         FileOutputStream fileOutputStream = null;
>>>>         FileInputStream fileInputStream = null;
>>>>         try {
>>>>
>>>>             String strFileName = request.getParameter("FileName");
>>>>             String strPath = request.getParameter("Path");
>>>>             //String strMediaType = request.getParameter("MediaType");
>>>>
>>>>             //String strDescription =
>>> request.getParameter("Description");
>>>>             fFile = (File) request.getAttribute("Content");
>>>>
>>>>             int index = strPath.length() - 1; //If the user forgets to
>>>> put the last / for the path... We put it for him/her
>>>>
>>>>             if (strPath.charAt(index) != '/') {
>>>>                 strPath += "/";
>>>>             }
>>>>             if (!new File(strPath).exists()) {
>>>>                 new File(strPath).mkdirs();
>>>>             }
>>>>
>>>>             File file = new File(strPath + strFileName);
>>>>             fileOutputStream = new FileOutputStream(file);
>>>>             fileInputStream = new FileInputStream(fFile);
>>>>
>>>>             byte[] bBuf = new byte[1024];
>>>>
>>>>             int iBufLen = 0;
>>>>             int iReadLen = 1024;
>>>>             int iTotelLen = 0;
>>>>             /*read 1024 bytes at a time*/
>>>>             while ((iBufLen = fileInputStream.read(bBuf)) != -1) {
>>>>
>>>>                 fileOutputStream.write(bBuf);
>>>>                 fileOutputStream.flush();
>>>>                 iTotelLen += iBufLen;
>>>>                 if (fileInputStream.available() < iReadLen) {
>>>>                     iReadLen = fileInputStream.available();
>>>>
>>>>                     break;
>>>>                 }
>>>>             }
>>>>
>>>>             byte[] tempbBuf = 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
>>
>>
> 
> 



Mime
View raw message