I am trying to retrieve the file from sharepoint to local hard disk.
Here is my code:
SPFile file = web.GetFile("http://localhost/Basics.pptx");
byte[] data = file.OpenBinary();
FileStream fs = new FileStream(@"C:\Users\krg\Desktop\xyz.pptx",FileMode.Create,FileAccess.Write);
BinaryWriter w = new BinaryWriter(fs);
w.Write(data, 0, (int)file.Length);
w.Close();
fs.Close();
When I am trying to open that file, it is showing as a corrupted file.
The original file size is 186kb, after download the file size is 191kb.
What is the solution to download the file from sharepoint..?
You do not need the BinaryWriter:
int size = 10 * 1024;
using (Stream stream = file.OpenBinaryStream())
{
using (FileStream fs = new FileStream(@"C:\Users\krg\Desktop\xyz.pptx", FileMode.Create, FileAccess.Write))
{
byte[] buffer = new byte[size];
int bytesRead;
while((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0)
{
fs.Write(buffer, 0, bytesRead);
}
}
}