时间:2016-02-16 00:52 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【silverlight用webclient大文件上传的实例代码】,下面是详细的讲解!
silverlight用webclient大文件上传的实例代码
private void Save()
{
string data=Context.Request.QueryString["data"].Base64StringDecode("ABC");
if (data.IsNullOrEmpty())
return;
var m=JsonConvert.DeserializeObject<FileUploadModel>(data);
if (m==null)
return;
var isSplitBlock=Context.Request.QueryString["t"]=="1"; //是否分块上传
#region 保存文件
// 初始化目录
string dirPath=Path.Combine(ConfigHelper.UploadPath, m.Dir); // 文件保存路径
if (!Directory.Exists(dirPath))
Directory.CreateDirectory(dirPath);
// 文件地址
string filePath=Path.Combine(dirPath, m.FileName);
if (!isSplitBlock)
{
if (File.Exists(filePath))
File.Delete(filePath);
}
int bufLen=0;
byte[] buffer=new byte[4096];
using (FileStream fs=new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
fs.Seek(0, SeekOrigin.End);
// 写入原文件
Stream sr=Context.Request.InputStream;
while ((bufLen=sr.Read(buffer, 0, buffer.Length)) > 0)
fs.Write(buffer, 0, bufLen);
sr.Close();
sr.Dispose();
// 缩略图
try
{
if (!m.NeedThumbnail)
return;
dirPath=Path.Combine(dirPath, "Small");
if (!Directory.Exists(dirPath))
Directory.CreateDirectory(dirPath);
filePath=Path.Combine(dirPath, m.FileName);
if (File.Exists(filePath))
File.Delete(filePath);
using (var pic=GetThumbnail(fs, 300, 300))
{
pic.Save(filePath);
}
}
catch { }
}
#endregion
#region 删除原文件
// 删除原文件
if (m.OldFilePath.IsNullOrEmpty())
{
return;
}
try
{
filePath=Path.Combine(ConfigHelper.UploadPath, m.OldFilePath);
if (File.Exists(filePath))
File.Delete(filePath);
if (m.NeedThumbnail)
{
filePath=Path.Combine(ConfigHelper.UploadPath, m.OldThumbnailImagePath);
if (File.Exists(filePath))
File.Delete(filePath);
}
}
catch (Exception ex)
{
}
#endregion
}
关于silverlight用webclient大文件上传的实例代码的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【增加记录】asp.net中获取新增加记录的ID Access
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
