首页 新闻 会员 周边

asp.net 中怎么用FileUpload 把上传的文件压缩后再上传到服务器?急!!!!!!

0
悬赏园豆:100 [已解决问题] 解决于 2015-12-18 16:47

点击浏览选择好非压缩文件,点击上传:将文件压缩上传到服务器,能实现吗?

问题补充:

还有上传压缩文件到服务器再在服务器上解压

Mr Duke的主页 Mr Duke | 初学一级 | 园豆:112
提问于:2015-12-17 11:51
< >
分享
最佳答案
0

/// <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;
}

收获园豆:70
SusanLiu | 菜鸟二级 |园豆:274 | 2015-12-17 14:20

能不能 把一个Stream流直接变成一个压缩流

Mr Duke | 园豆:112 (初学一级) | 2015-12-17 16:23

@Mr Duke: 这不是有一个压缩流吗 GZipStream,能具体点吗

SusanLiu | 园豆:274 (菜鸟二级) | 2015-12-17 16:24

@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 | 园豆:112 (初学一级) | 2015-12-17 16:39

@Mr Duke: 我这个方法就是压缩文件啊  ,然后你将它转换成字节数组进行上传,接着你再写一个上传的方法就OK,再服务器端接受一下就行啊!

SusanLiu | 园豆:274 (菜鸟二级) | 2015-12-17 16:42
其他回答(4)
0
收获园豆:10
dudu | 园豆:30994 (高人七级) | 2015-12-17 13:59
0

http://blog.sina.com.cn/s/blog_62cd5a980100wqdr.html

收获园豆:10
搁忆 | 园豆:612 (小虾三级) | 2015-12-17 14:29
0

跟asp.net没关系,fileupload是一个swf文件,你得看他是否支持在客户端压缩后上传

收获园豆:10
吴瑞祥 | 园豆:29449 (高人七级) | 2015-12-17 16:11

这种功能能实现吗?

支持(0) 反对(0) Mr Duke | 园豆:112 (初学一级) | 2015-12-17 17:54

@Mr Duke: 说了。你得看那个swf文件,有没给你提供这个功能

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2015-12-17 18:55
0

用WebUploader:

http://fex.baidu.com/webuploader/

默认就支持压缩。

髙髙 | 园豆:156 (初学一级) | 2015-12-20 10:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册