I got the following error while uploading a file using FileUpload control. I solved by getting the file contents in bytes so you can assign to it.
public void Compress()
{
string fileWithExt = Path.GetFileName(FileUpload1.FileName);
string zipFile = fileWithExt + ".zip";
string zipFilePath = Path.Combine(Server.MapPath("~/Uploads"), zipFile);
using (FileStream target = new FileStream(zipFilePath, FileMode.Create, FileAccess.Write))
using (GZipStream zipstream = new GZipStream(target, CompressionMode.Compress))
{
byte[] data = File.ReadAllBytes(Path.GetFileName(FileUpload1.FileName));
zipstream.Write(data, 0, data.Length);
zipstream.Flush();
}
}
Exception message:
Solution:
You just replace the above code with the highlighted code.
byte[] fileBytes = FileUpload1.FileBytes;
using (FileStream target = new FileStream(zipFilePath, FileMode.Create, FileAccess.Write))
using (GZipStream zipstream = new GZipStream(target, CompressionMode.Compress))
{
byte[] data = fileBytes;
zipstream.Write(data, 0, data.Length);
zipstream.Flush(); }
Post your comments / questions
Recent Article
- OSError: cannot open resource - Python
- Python read file line count
- How to Encode & Decode using Base64 in Python?
- Unspecified error-The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support.
- How to generate a Captcha verification code image with Python?
- How to show an image using path python PIL?
- How to remove Background from the images using Python?
- Python generate QR code image
Related Article