473,466 Members | 1,619 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

File in Use?

Hello!

I have some ASPX code which creates a JPEG file in response to a button
press. The JPEG file is contructed in memory (see below), stored to a JPEG
file on the server, and then dished-out on the following browser window.

Everything works, but if I try to do the process again, I get a message
saying that the JPEG image file is in use. I can only free it by restarting
Web services. (I can't even delete the file using Windows Explorer!)
Clearly, I must not be releasing this resource properly.

Can anyone see what I'm missing?

TIA

Harry
// Create the bitmap object to draw our label
chartBmp = new Bitmap(width, height);

// Create the Graphics object.

chartGraphics = Graphics.FromImage(chartBmp);

// Fill the background of our choice.

chartGraphics.FillRectangle(new SolidBrush(Color.White), 0, 0,
width,height);

// top horizontal

Point pt1 = new Point(0,0);

Point pt2 = new Point(width,0);

chartGraphics.DrawLine(Pens.Black,pt1,pt2);

String chartFile = Server.MapPath("images/LabelImage.jpg");

FileStream jpgFile = new FileStream(chartFile, FileMode.Create,
FileAccess.ReadWrite);

// Save the graphics as Jpeg file.

chartBmp.Save(jpgFile, ImageFormat.Jpeg);

Response.Clear();

chartBmp.Save(Response.OutputStream, ImageFormat.Jpeg);

Response.End();

jpgFile.Close();

chartGraphics.Dispose();

chartBmp.Dispose();
Nov 18 '05 #1
2 1166
It may be because you are not closing your file. Below is something from
the HttpResponse.End method docs. In this case you may also end up with
memory leaks since your dispose methods are not being called.

"Sends all currently buffered output to the client, stops execution of the
page, and raises the Application_EndRequest event."
"Harry Whitehouse" <ha***@envmgr.com> wrote in message
news:eT**************@TK2MSFTNGP10.phx.gbl...
Hello!

I have some ASPX code which creates a JPEG file in response to a button
press. The JPEG file is contructed in memory (see below), stored to a JPEG file on the server, and then dished-out on the following browser window.

Everything works, but if I try to do the process again, I get a message
saying that the JPEG image file is in use. I can only free it by restarting Web services. (I can't even delete the file using Windows Explorer!)
Clearly, I must not be releasing this resource properly.

Can anyone see what I'm missing?

TIA

Harry
// Create the bitmap object to draw our label
chartBmp = new Bitmap(width, height);

// Create the Graphics object.

chartGraphics = Graphics.FromImage(chartBmp);

// Fill the background of our choice.

chartGraphics.FillRectangle(new SolidBrush(Color.White), 0, 0,
width,height);

// top horizontal

Point pt1 = new Point(0,0);

Point pt2 = new Point(width,0);

chartGraphics.DrawLine(Pens.Black,pt1,pt2);

String chartFile = Server.MapPath("images/LabelImage.jpg");

FileStream jpgFile = new FileStream(chartFile, FileMode.Create,
FileAccess.ReadWrite);

// Save the graphics as Jpeg file.

chartBmp.Save(jpgFile, ImageFormat.Jpeg);

Response.Clear();

chartBmp.Save(Response.OutputStream, ImageFormat.Jpeg);

Response.End();

jpgFile.Close();

chartGraphics.Dispose();

chartBmp.Dispose();

Nov 18 '05 #2
Peter -- That was the hint I needed.

I needed to close the JPG file BEFORE I sent the response back.

Thanks for your help!!

Best

Harry
Nov 18 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: matt | last post by:
I have compiled some code, some written by me, some compiled from various sources online, and basically i've got a very simple flat file photo gallery. An upload form, to upload the photos and give...
5
by: Dave Smithz | last post by:
Hi There, I have a PHP script that sends an email with attachment and works great when provided the path to the file to send. However this file needs to be on the same server as the script. ...
7
by: Joseph | last post by:
Hi, I'm having bit of questions on recursive pointer. I have following code that supports upto 8K files but when i do a file like 12K i get a segment fault. I Know it is in this line of code. ...
3
by: StGo | last post by:
How can i read/write file's custom attributs(like subject,author...) in C#??? Thanks :))
0
by: Lokkju | last post by:
I am pretty much lost here - I am trying to create a managed c++ wrapper for this dll, so that I can use it from c#/vb.net, however, it does not conform to any standard style of coding I have seen....
13
by: Sky Sigal | last post by:
I have created an IHttpHandler that waits for uploads as attachments for a webmail interface, and saves it to a directory that is defined in config.xml. My question is the following: assuming...
1
by: Roy | last post by:
Hi, I have a problem that I have been working with for a while. I need to be able from server side (asp.net) to detect that the file i'm streaming down to the client is saved...
3
by: Shapper | last post by:
Hello, I created a script to upload a file. To determine the file type I am using userPostedFile.ContentType. For example, for a png image I get "image/png". My questions are: 1. Where can...
0
by: troutbum | last post by:
I am experiencing problems when one user has a document open through a share pointing to the web site. I use the dsolefile to read the contents of a particular directory and then display them in a...
0
by: thjwong | last post by:
I'm using WinXP with Microsoft Visual C++ .NET 69462-006-3405781-18776, Microsoft Development Environment 2003 Version 7.1.3088, Microsoft .NET Framework 1.1 Version 1.1.4322 SP1 Most developers...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.