点击浏览选择好非压缩文件,点击上传:将文件压缩上传到服务器,能实现吗?
还有上传压缩文件到服务器再在服务器上解压
/// <summary>
/// 压缩文件
/// </summary>
/// <param name="strFilePath"></param>
/// <returns></returns>
private static string Compress(string strFilePath)
{
DateTime date = DateTime.Now;
string strCompressName = Path.GetDirectoryName(strFilePath) + "\\" + Path.GetFileName(strFilePath) + ".gz";
//创建一个读取流,读取要进行压缩的文件
using (FileStream fsRead = new FileStream(strFilePath, FileMode.OpenOrCreate, FileAccess.Read))
{
//创建一个写入流,并且设置要写入的路径
using (FileStream fsWrite = new FileStream(strCompressName, FileMode.OpenOrCreate, FileAccess.Write))
{
//创建一个压缩流
using (GZipStream gzip = new GZipStream(fsWrite, CompressionMode.Compress))
{
byte[] bytes = new byte[1024 * 1024 * 5];
int r = fsRead.Read(bytes, 0, bytes.Length);
gzip.Write(bytes, 0, r);
}
}
}
return strCompressName;
}
能不能 把一个Stream流直接变成一个压缩流
@Mr Duke: 这不是有一个压缩流吗 GZipStream,能具体点吗
@SusanLiu: 我想通过FTP上传一个Stream流到服务器,如果不需要要压缩直接用以下方法传fs就行了 现在要压缩,看看能不能把上传的文件变成Stream压缩流,这样传过去就是压缩文件了
HttpPostedFile f= FileUpload1.PostedFile;
Stream fs= f.InputStream;
/// <summary>
/// 文件流上传到FTP
/// </summary>
/// <param name="fileStream">文件流</param>
/// <param name="fileName">原文件名</param>
/// <returns>返回文件上传的路径</returns>
public static string UploadFile(Stream fileStream, string fileName)
@Mr Duke: 我这个方法就是压缩文件啊 ,然后你将它转换成字节数组进行上传,接着你再写一个上传的方法就OK,再服务器端接受一下就行啊!
http://blog.sina.com.cn/s/blog_62cd5a980100wqdr.html
跟asp.net没关系,fileupload是一个swf文件,你得看他是否支持在客户端压缩后上传
这种功能能实现吗?
@Mr Duke: 说了。你得看那个swf文件,有没给你提供这个功能
用WebUploader:
http://fex.baidu.com/webuploader/
默认就支持压缩。