i have created text file in folder , zipped folder , saved @same location test purpose. wanted download zip file directly on user machine after created. using dotnetzip library , have done following:
response.clear(); response.contenttype = "application/zip"; response.addheader("content-disposition", "filename=" + "sample.zip"); using (zipfile zip = new zipfile()) { zip.adddirectory(server.mappath("~/directories/hello")); zip.save(server.mappath("~/directories/hello/sample.zip")); }
can please suggest how zip file can downloaded @ user's end.?
you may use controller's file
method return file, like:
public actionresult download() { using (zipfile zip = new zipfile()) { zip.adddirectory(server.mappath("~/directories/hello")); zip.save(server.mappath("~/directories/hello/sample.zip")); return file(server.mappath("~/directories/hello/sample.zip"), "application/zip", "sample.zip"); } }
if zip file not required otherwise stored, unnecessary write file on server:
public actionresult download() { using (zipfile zip = new zipfile()) { zip.adddirectory(server.mappath("~/directories/hello")); memorystream output = new memorystream(); zip.save(output); return file(output, "application/zip", "sample.zip"); } }