解决思想
在服务器中新建一个文件夹,把要下载的word文件先导出到这个文件夹中,然后压缩这个文件夹,最后下载。
直接贴代码 这里要引用 using ICSharpCode.SharpZipLib.Zip和
using ICSharpCode.SharpZipLib.Checksums
public static void CreateDir(string subdir)
{
const string main_Dir = @"F:\新建文件夹\web\~temp";
string path = main_Dir + "/" + subdir;
Directory.CreateDirectory(path);
}
public void addZipEntry()
{
string[] FileProperties = new string[2];
FileProperties[0] = "E:\\web\\web\\~temp";//待压缩文件目录
FileProperties[1] = "E:\\web\\web\\a.zip";//压缩后的目标文件
ZipFile(FileProperties[0], FileProperties[1]);
}
public void ZipFile(string strFile, string strZip)
{
if (strFile[strFile.Length - 1] != Path.DirectorySeparatorChar)
strFile += Path.DirectorySeparatorChar;
ZipOutputStream s = new ZipOutputStream(File.Create(strZip));
s.SetLevel(9); // 0 - store only to 9 - means best compression
zip(strFile, s, strFile);
s.Finish();
s.Close();
}
private void zip(string strFile, ZipOutputStream s, string staticFile)
{
if (strFile[strFile.Length - 1] != Path.DirectorySeparatorChar) strFile += Path.DirectorySeparatorChar;
Crc32 crc = new Crc32();
string[] filenames