Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Languages / C# / December 2005

Tip: Looking for answers? Try searching our database.

Downloading Zip from SQL Image field

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
joef@nospam.com - 23 Dec 2005 16:33 GMT
I'm converting a Delphi app to C#. The application uploads and downloads
files to an image field on SQL through a webservice. With Delphi, this was
done straight to SQL instead of a webservice. The C# code works fine in both
directions except in the case of zip files. I get a message, from WinZip,
telling me that the archive is not valid. The zip is valid, in the sql
server, becuase it can be opened when using my old Delphi version of this
program. I can also upload the zips with the C# version and open them with
the Delphi version so I'm pretty sure it how the file is being re-created
using C#.

Below is the code that I use to download and open the file Any help would be
appreciated.

TIA

//Get the document from the table           
DataRow rowDataImage = null;
DataRowView rowData =
DataRowView)BindingContext[dsLibrary.Tables["AvailDocs"]].Current;
            DataSet ds = DB.getDoc(System.Convert.ToInt32(rowData[0].ToString()));
            string strDocExt =
DB.getDocFileExt(System.Convert.ToInt32(rowData[0].ToString()));
            rowDataImage=ds.Tables[0].Rows[0];
     
//Read the image from the table field into a byte array
byte[] MyData= new byte[0];
MyData =  (byte[])rowDataImage[0];
int ArraySize = new int();
ArraySize = MyData.GetUpperBound(0);

//Create a destination for the file
FileStream fs = new FileStream("c:\\elibtemp." + strDocExt,
FileMode.Create,FileAccess.Write,FileShare.Write,ArraySize,true);

// Create the writer for data.
fs.Write(MyData, 0,ArraySize);
fs.Close();
Ignacio Machin ( .NET/ C# MVP ) - 27 Dec 2005 15:29 GMT
Hi,

No idea if this is related or not, but in my office computer I have a
similar error, each time I select to download something from the internet
and select "open" instead of "save" I get the same error, but if I save it
first and open later I have no problem at all. I had no time to investigate
why is this happening, maybe the antivirus or a security policy.

Btw, the code seems fine , you did not post it how you are getting it from
the DB but it should be fine too.

Signature

Ignacio Machin,
ignacio.machin AT dot.state.fl.us
Florida Department Of Transportation

> I'm converting a Delphi app to C#. The application uploads and downloads
> files to an image field on SQL through a webservice. With Delphi, this was
[quoted text clipped - 35 lines]
> fs.Write(MyData, 0,ArraySize);
> fs.Close();

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.