473,725 Members | 2,232 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Problem creating a Bitmap from an IO.FileStream

I am having a problem saving an image with the same name it originally had. I have two similar versions of my code, one in which I close the FileStream used to open the original image before saving, the other in which I close the FileStream afterwards, although both return the same error. Here are the two versions of the code and the errors they each return (NOTE: I rebooted immediately before running each of these versions so that I knew they were run under exactly the same conditions, I think the FileStream gets left open because the error occurs before I can close it):
Here is the one where I save it first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
frogstream.Clos e()
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273


Here is the one where I close the FileStream first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogstream.Clos e()
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogstream.Clos e()
Line 37: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

I know that Server.MapPath( "images/frog2.gif") returns the correct path. I appreciate any help you can offer, thank you all in advance.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
Dec 10 '05 #1
7 2308
Are you sure the stream is valid (contains data,valid picture)?

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:en******** *****@TK2MSFTNG P15.phx.gbl...
I am having a problem saving an image with the same name it originally had. I have two similar versions of my code, one in which I close the FileStream used to open the original image before saving, the other in which I close the FileStream afterwards, although both return the same error. Here are the two versions of the code and the errors they each return (NOTE: I rebooted immediately before running each of these versions so that I knew they were run under exactly the same conditions, I think the FileStream gets left open because the error occurs before I can close it):
Here is the one where I save it first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
frogstream.Clos e()
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273


Here is the one where I close the FileStream first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogstream.Clos e()
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogstream.Clos e()
Line 37: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

I know that Server.MapPath( "images/frog2.gif") returns the correct path. I appreciate any help you can offer, thank you all in advance.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
Dec 11 '05 #2
You're right, the image was invalid (I probably didn't realize that it became invalid because of one of my other errors). I fixed that, and now I get an error during the Save method. Here is the error:

A generic error occurred in GDI+.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime. InteropServices .ExternalExcept ion: A generic error occurred in GDI+.

Source Error:

Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()
Line 38:

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 36

Stack Trace:

[ExternalExcepti on (0x80004005): A generic error occurred in GDI+.]
System.Drawing. Image.Save(Stri ng filename, ImageCodecInfo encoder, EncoderParamete rs encoderParams) +581
System.Drawing. Image.Save(Stri ng filename, ImageFormat format) +61
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:36
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

The error is exactly the same regardless of whether the Save or Close methods are called first. Would using a FileStream when saving my image solve the problem? I think the error is somehow related to the fact that I am reading from and writing to the same file, because if I use the same code with two different files, it works perfect. Thanks.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message news:Oa******** ******@TK2MSFTN GP11.phx.gbl...
Are you sure the stream is valid (contains data,valid picture)?

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:en******** *****@TK2MSFTNG P15.phx.gbl...
I am having a problem saving an image with the same name it originally had. I have two similar versions of my code, one in which I close the FileStream used to open the original image before saving, the other in which I close the FileStream afterwards, although both return the same error. Here are the two versions of the code and the errors they each return (NOTE: I rebooted immediately before running each of these versions so that I knew they were run under exactly the same conditions, I think the FileStream gets left open because the error occurs before I can close it):
Here is the one where I save it first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
frogstream.Clos e()
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273


Here is the one where I close the FileStream first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogstream.Clos e()
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogstream.Clos e()
Line 37: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

I know that Server.MapPath( "images/frog2.gif") returns the correct path. I appreciate any help you can offer, thank you all in advance.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
Dec 12 '05 #3
You should Close stream first, that's for sure. And make sure you have write privileges to that file.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:uX******** *****@tk2msftng p13.phx.gbl...
You're right, the image was invalid (I probably didn't realize that it became invalid because of one of my other errors). I fixed that, and now I get an error during the Save method. Here is the error:

A generic error occurred in GDI+.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime. InteropServices .ExternalExcept ion: A generic error occurred in GDI+.

Source Error:

Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()
Line 38:

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 36

Stack Trace:

[ExternalExcepti on (0x80004005): A generic error occurred in GDI+.]
System.Drawing. Image.Save(Stri ng filename, ImageCodecInfo encoder, EncoderParamete rs encoderParams) +581
System.Drawing. Image.Save(Stri ng filename, ImageFormat format) +61
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:36
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

The error is exactly the same regardless of whether the Save or Close methods are called first. Would using a FileStream when saving my image solve the problem? I think the error is somehow related to the fact that I am reading from and writing to the same file, because if I use the same code with two different files, it works perfect. Thanks.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message news:Oa******** ******@TK2MSFTN GP11.phx.gbl...
Are you sure the stream is valid (contains data,valid picture)?

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:en******** *****@TK2MSFTNG P15.phx.gbl...
I am having a problem saving an image with the same name it originally had. I have two similar versions of my code, one in which I close the FileStream used to open the original image before saving, the other in which I close the FileStream afterwards, although both return the same error. Here are the two versions of the code and the errors they each return (NOTE: I rebooted immediately before running each of these versions so that I knew they were run under exactly the same conditions, I think the FileStream gets left open because the error occurs before I can close it):
Here is the one where I save it first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
frogstream.Clos e()
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273


Here is the one where I close the FileStream first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogstream.Clos e()
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogstream.Clos e()
Line 37: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

I know that Server.MapPath( "images/frog2.gif") returns the correct path. I appreciate any help you can offer, thank you all in advance.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
Dec 12 '05 #4
I'm sure that you have more experience with Streams than me, but here are some tests I did along with their results:
I checked for ASPNET Write privileges, and it does have them, both for the file and the images directory

To test that it was not a problem with Write privileges, I ran the code using images/frog.gif as the source for the FileStream. When I did this, it would only work when I did the Save BEFORE the Close.
Although I have a way to make the code work to "copy" an image, it does not seem to work when trying to "modify" an image (well, my code doesn't really modify it right now, but you get the point). I think that all the Streams involved in the opening and saving end up interfering with each other somehow when saving with the same name, but I'm not sure how, and I'm having trouble figuring it out because I don't have a lot of experience with Streams in VB.NET. At the moment, that is the only idea I have, so although I plan to keep trying, I would appreciate any help that can be given. Thanks.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message news:%2******** *******@TK2MSFT NGP12.phx.gbl.. .
You should Close stream first, that's for sure. And make sure you have write privileges to that file.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:uX******** *****@tk2msftng p13.phx.gbl...
You're right, the image was invalid (I probably didn't realize that it became invalid because of one of my other errors). I fixed that, and now I get an error during the Save method. Here is the error:

A generic error occurred in GDI+.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime. InteropServices .ExternalExcept ion: A generic error occurred in GDI+.

Source Error:

Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()
Line 38:

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 36

Stack Trace:

[ExternalExcepti on (0x80004005): A generic error occurred in GDI+.]
System.Drawing. Image.Save(Stri ng filename, ImageCodecInfo encoder, EncoderParamete rs encoderParams) +581
System.Drawing. Image.Save(Stri ng filename, ImageFormat format) +61
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:36
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

The error is exactly the same regardless of whether the Save or Close methods are called first. Would using a FileStream when saving my image solve the problem? I think the error is somehow related to the fact that I am reading from and writing to the same file, because if I use the same code with two different files, it works perfect. Thanks.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message news:Oa******** ******@TK2MSFTN GP11.phx.gbl...
Are you sure the stream is valid (contains data,valid picture)?

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:en******** *****@TK2MSFTNG P15.phx.gbl...
I am having a problem saving an image with the same name it originally had. I have two similar versions of my code, one in which I close the FileStream used to open the original image before saving, the other in which I close the FileStream afterwards, although both return the same error. Here are the two versions of the code and the errors they each return (NOTE: I rebooted immediately before running each of these versions so that I knew they were run under exactly the same conditions, I think the FileStream gets left open because the error occurs before I can close it):
Here is the one where I save it first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
frogstream.Clos e()
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273


Here is the one where I close the FileStream first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogstream.Clos e()
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogstream.Clos e()
Line 37: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

I know that Server.MapPath( "images/frog2.gif") returns the correct path. I appreciate any help you can offer, thank you all in advance.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
Dec 12 '05 #5
Hi Nathan,

To rule out any asp.net issue I suggest you to try it in a winforms or console application.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:%2******** ********@TK2MSF TNGP10.phx.gbl. ..
I'm sure that you have more experience with Streams than me, but here are some tests I did along with their results:
I checked for ASPNET Write privileges, and it does have them, both for the file and the images directory

To test that it was not a problem with Write privileges, I ran the code using images/frog.gif as the source for the FileStream. When I did this, it would only work when I did the Save BEFORE the Close.
Although I have a way to make the code work to "copy" an image, it does not seem to work when trying to "modify" an image (well, my code doesn't really modify it right now, but you get the point). I think that all the Streams involved in the opening and saving end up interfering with each other somehow when saving with the same name, but I'm not sure how, and I'm having trouble figuring it out because I don't have a lot of experience with Streams in VB.NET. At the moment, that is the only idea I have, so although I plan to keep trying, I would appreciate any help that can be given. Thanks.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message news:%2******** *******@TK2MSFT NGP12.phx.gbl.. .
You should Close stream first, that's for sure. And make sure you have write privileges to that file.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:uX******** *****@tk2msftng p13.phx.gbl...
You're right, the image was invalid (I probably didn't realize that it became invalid because of one of my other errors). I fixed that, and now I get an error during the Save method. Here is the error:

A generic error occurred in GDI+.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime. InteropServices .ExternalExcept ion: A generic error occurred in GDI+.

Source Error:

Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()
Line 38:

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 36

Stack Trace:

[ExternalExcepti on (0x80004005): A generic error occurred in GDI+.]
System.Drawing. Image.Save(Stri ng filename, ImageCodecInfo encoder, EncoderParamete rs encoderParams) +581
System.Drawing. Image.Save(Stri ng filename, ImageFormat format) +61
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:36
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

The error is exactly the same regardless of whether the Save or Close methods are called first. Would using a FileStream when saving my image solve the problem? I think the error is somehow related to the fact that I am reading from and writing to the same file, because if I use the same code with two different files, it works perfect. Thanks.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message news:Oa******** ******@TK2MSFTN GP11.phx.gbl...
Are you sure the stream is valid (contains data,valid picture)?

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:en******** *****@TK2MSFTNG P15.phx.gbl...
I am having a problem saving an image with the same name it originally had. I have two similar versions of my code, one in which I close the FileStream used to open the original image before saving, the other in which I close the FileStream afterwards, although both return the same error. Here are the two versions of the code and the errors they each return (NOTE: I rebooted immediately before running each of these versions so that I knew they were run under exactly the same conditions, I think the FileStream gets left open because the error occurs before I can close it):
Here is the one where I save it first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
frogstream.Clos e()
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273


Here is the one where I close the FileStream first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogstream.Clos e()
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogstream.Clos e()
Line 37: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

I know that Server.MapPath( "images/frog2.gif") returns the correct path. I appreciate any help you can offer, thank you all in advance.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
Dec 12 '05 #6
I not familiar with creating console applications. As for winforms, just to make sure, is that basically a Windows application written using ..NET? I have written Windows applications using VB (that was before .NET even existed), so I want to make sure that I am understanding what you are suggesting.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message news:uN******** *****@TK2MSFTNG P09.phx.gbl...
Hi Nathan,

To rule out any asp.net issue I suggest you to try it in a winforms or console application.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:%2******** ********@TK2MSF TNGP10.phx.gbl. ..
I'm sure that you have more experience with Streams than me, but here are some tests I did along with their results:
I checked for ASPNET Write privileges, and it does have them, both for the file and the images directory

To test that it was not a problem with Write privileges, I ran the code using images/frog.gif as the source for the FileStream. When I did this, it would only work when I did the Save BEFORE the Close.
Although I have a way to make the code work to "copy" an image, it does not seem to work when trying to "modify" an image (well, my code doesn't really modify it right now, but you get the point). I think that all the Streams involved in the opening and saving end up interfering with each other somehow when saving with the same name, but I'm not sure how, and I'm having trouble figuring it out because I don't have a lot of experience with Streams in VB.NET. At the moment, that is the only idea I have, so although I plan to keep trying, I would appreciate any help that can be given. Thanks.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message news:%2******** *******@TK2MSFT NGP12.phx.gbl.. .
You should Close stream first, that's for sure. And make sure you have write privileges to that file.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:uX******** *****@tk2msftng p13.phx.gbl...
You're right, the image was invalid (I probably didn't realize that it became invalid because of one of my other errors). I fixed that, and now I get an error during the Save method. Here is the error:

A generic error occurred in GDI+.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime. InteropServices .ExternalExcept ion: A generic error occurred in GDI+.

Source Error:

Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()
Line 38:

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 36

Stack Trace:

[ExternalExcepti on (0x80004005): A generic error occurred in GDI+.]
System.Drawing. Image.Save(Stri ng filename, ImageCodecInfo encoder, EncoderParamete rs encoderParams) +581
System.Drawing. Image.Save(Stri ng filename, ImageFormat format) +61
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:36
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

The error is exactly the same regardless of whether the Save or Close methods are called first. Would using a FileStream when saving my image solve the problem? I think the error is somehow related to the fact that I am reading from and writing to the same file, because if I use the same code with two different files, it works perfect. Thanks.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message news:Oa******** ******@TK2MSFTN GP11.phx.gbl...
Are you sure the stream is valid (contains data,valid picture)?

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:en******** *****@TK2MSFTNG P15.phx.gbl...
I am having a problem saving an image with the same name it originally had. I have two similar versions of my code, one in which I close the FileStream used to open the original image before saving, the other in which I close the FileStream afterwards, although both return the same error. Here are the two versions of the code and the errors they each return (NOTE: I rebooted immediately before running each of these versions so that I knew they were run under exactly the same conditions, I think the FileStream gets left open because the error occurs before I can close it):
Here is the one where I save it first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
frogstream.Clos e()
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273


Here is the one where I close the FileStream first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogstream.Clos e()
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogstream.Clos e()
Line 37: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

I know that Server.MapPath( "images/frog2.gif") returns the correct path. I appreciate any help you can offer, thank you all in advance.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
Dec 12 '05 #7

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:ug******** ******@TK2MSFTN GP10.phx.gbl...
I not familiar with creating console applications. As for winforms, just to make sure, is that basically a Windows application written using ..NET?

Yes.

I have written Windows applications using VB (that was before .NET even existed), so I want to make sure that I am understanding what you are suggesting.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message news:uN******** *****@TK2MSFTNG P09.phx.gbl...
Hi Nathan,

To rule out any asp.net issue I suggest you to try it in a winforms or console application.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:%2******** ********@TK2MSF TNGP10.phx.gbl. ..
I'm sure that you have more experience with Streams than me, but here are some tests I did along with their results:
I checked for ASPNET Write privileges, and it does have them, both for the file and the images directory

To test that it was not a problem with Write privileges, I ran the code using images/frog.gif as the source for the FileStream. When I did this, it would only work when I did the Save BEFORE the Close.
Although I have a way to make the code work to "copy" an image, it does not seem to work when trying to "modify" an image (well, my code doesn't really modify it right now, but you get the point). I think that all the Streams involved in the opening and saving end up interfering with each other somehow when saving with the same name, but I'm not sure how, and I'm having trouble figuring it out because I don't have a lot of experience with Streams in VB.NET. At the moment, that is the only idea I have, so although I plan to keep trying, I would appreciate any help that can be given. Thanks.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message news:%2******** *******@TK2MSFT NGP12.phx.gbl.. .
You should Close stream first, that's for sure. And make sure you have write privileges to that file.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:uX******** *****@tk2msftng p13.phx.gbl...
You're right, the image was invalid (I probably didn't realize that it became invalid because of one of my other errors). I fixed that, and now I get an error during the Save method. Here is the error:

A generic error occurred in GDI+.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime. InteropServices .ExternalExcept ion: A generic error occurred in GDI+.

Source Error:

Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()
Line 38:

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 36

Stack Trace:

[ExternalExcepti on (0x80004005): A generic error occurred in GDI+.]
System.Drawing. Image.Save(Stri ng filename, ImageCodecInfo encoder, EncoderParamete rs encoderParams) +581
System.Drawing. Image.Save(Stri ng filename, ImageFormat format) +61
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:36
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

The error is exactly the same regardless of whether the Save or Close methods are called first. Would using a FileStream when saving my image solve the problem? I think the error is somehow related to the fact that I am reading from and writing to the same file, because if I use the same code with two different files, it works perfect. Thanks.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message news:Oa******** ******@TK2MSFTN GP11.phx.gbl...
Are you sure the stream is valid (contains data,valid picture)?

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Nathan Sokalski" <nj********@hot mail.com> wrote in message news:en******** *****@TK2MSFTNG P15.phx.gbl...
I am having a problem saving an image with the same name it originally had. I have two similar versions of my code, one in which I close the FileStream used to open the original image before saving, the other in which I close the FileStream afterwards, although both return the same error. Here are the two versions of the code and the errors they each return (NOTE: I rebooted immediately before running each of these versions so that I knew they were run under exactly the same conditions, I think the FileStream gets left open because the error occurs before I can close it):
Here is the one where I save it first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
frogstream.Clos e()
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Line 37: frogstream.Clos e()

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273


Here is the one where I close the FileStream first:

Dim frogbitmap As Bitmap
Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
frogbitmap = New Bitmap(frogstre am)
frogstream.Clos e()
frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)
Invalid parameter used.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Argument Exception: Invalid parameter used.

Source Error:

Line 33: Dim frogbitmap As Bitmap
Line 34: Dim frogstream As New IO.FileStream(S erver.MapPath(" images/frog2.gif"), IO.FileMode.Ope n)
Line 35: frogbitmap = New Bitmap(frogstre am)
Line 36: frogstream.Clos e()
Line 37: frogbitmap.Save (Server.MapPath ("images/frog2.gif"), Imaging.ImageFo rmat.Gif)

Source File: C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb Line: 35

Stack Trace:

[ArgumentExcepti on: Invalid parameter used.]
System.Drawing. Bitmap..ctor(St ream stream) +271
WebApplication1 .ImageNoCache.b tnRotate_Click( Object sender, EventArgs e) in C:\Inetpub\wwwr oot\WebApplicat ion1\ImageNoCac he.aspx.vb:35
System.Web.UI.W ebControls.Butt on.OnClick(Even tArgs e) +108
System.Web.UI.W ebControls.Butt on.System.Web.U I.IPostBackEven tHandler.RaiseP ostBackEvent(St ring eventArgument) +57
System.Web.UI.P age.RaisePostBa ckEvent(IPostBa ckEventHandler sourceControl, String eventArgument) +18
System.Web.UI.P age.RaisePostBa ckEvent(NameVal ueCollection postData) +33
System.Web.UI.P age.ProcessRequ estMain() +1273

I know that Server.MapPath( "images/frog2.gif") returns the correct path. I appreciate any help you can offer, thank you all in advance.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
Dec 13 '05 #8

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

Similar topics

3
1785
by: Kirk Quinbar | last post by:
hi, I have the following sample .NET 1.0 code which converts a metafile to a bitmap: Dim tmpImage As Bitmap 'System.Drawing.Image Dim streamX As New System.IO.MemoryStream() Dim fs As FileStream, br As BinaryReader Dim FilePath As String Dim data() As Byte
4
3726
by: Saso Zagoranski | last post by:
Hi! Here is what I'm trying to do: I have created a UserControl named PictureView. It holds all the images in one directory in the Bitmap images variable. The selected image is displayed in the PictureBox control. Here is how it works.
7
1549
by: Nathan Sokalski | last post by:
I am having a problem saving an image with the same name it originally had. I have two similar versions of my code, one in which I close the FileStream used to open the original image before saving, the other in which I close the FileStream afterwards, although both return the same error. Here are the two versions of the code and the errors they each return (NOTE: I rebooted immediately before running each of these versions so that I knew they...
1
6495
by: WB | last post by:
Hi, I have a helper class that has a method to resize images. It takes the virtual path of an image and resize it to a specified dimension like this. public void ResizeImageTest(string pathImage, int newDimension) { string pathImageOnDisk = System.Web.HttpContext.Current.Server.MapPath(pathImage); System.IO.FileStream fs = new System.IO.FileStream(pathImageOnDisk,
2
1546
by: Saso | last post by:
Hi, I would like to serialize an instance of the bitmap instance. Actually, I've done serialization with the code below, but why parameter Tag is not serialized? I get the following exception after deserialization: Object reference is not set to an instance of an object. // Instance of bitmap. Bitmap B = new Bitmap(100, 100);
1
7828
by: Smokey Grindel | last post by:
I have a bitmap object I want to return as a JPEG image with a compression set at 90% and progressive passes enabled, how can I do this in .NET 2.0? Progressive passes are not necessary but the compression ratio is.. thanks!
0
1153
by: raar | last post by:
Hello, I am developing a webservice that uses a third party dll. The dll works when i use it offline but when i deploy it into the webservice and use a client to call it, it stops working (no error message though). I added the dll as a reference in the offline part and the webservice. The offline code: //simpel method to open a image and convert it to a byte (needed by a webservice)
0
1438
by: Waqas.L.Khan | last post by:
Hi guys, I have a problem when trying to create an image file. Basically my code takes any file and gets it's system icon using SHGetFileInfo and then saves the file either by converting it into a bmp and saving to disk or by saving the icon using a filestream. In both cases saving the file works fine. However, when I open the newly created file from explorer I notice something peculiar. The file has a black background. I would have...
2
1592
by: mcco | last post by:
I use VS2008, and I encrypted a file using this function: public static void Encrypt(string fileIn, string fileOut, string Password) { FileStream fsIn = new FileStream(fileIn, FileMode.Open, FileAccess.Read); FileStream fsOut = new FileStream(fileOut, FileMode.OpenOrCreate, FileAccess.Write);
0
8888
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8752
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9401
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8097
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6702
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4519
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4784
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3221
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 we have to send another system
2
2635
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.