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/ 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/
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/
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/
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/
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/
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/
"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/ This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
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
|
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.
|
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...
|
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,
|
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);
| |
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!
|
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)
|
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...
|
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);
|
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...
|
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,...
| |
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...
|
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...
|
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...
|
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...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
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
| |
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |