silverlight文件夹上传和下载,该如何处理
发布时间:2011-06-27 19:55:39 文章来源:www.iduyao.cn 采编人员:星星草
silverlight文件夹上传和下载
最近在做silverlight项目,其中涉及到文件夹的上传和下载,挣扎的很长一段时间,求解答
------解决方案--------------------
silverlight 上传文件 http://www.51aspx.com/CV/SilverlightFileUpload/
/// <summary>
/// 打开文件对话框的选择
/// </summary>
private void SelectUserFiles()
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Multiselect = true;
try
{
//检查文件过滤器(过滤器用来过滤文件扩展名,例如只能选择jpg文件)。
if (!string.IsNullOrEmpty(_fileFilter))
ofd.Filter = _fileFilter;
}
catch (ArgumentException ex)
{
//用户提供了一个错误的配置文件
throw new Exception("Wrong file filter configuration.", ex);
}
if (ofd.ShowDialog() == true)
{
foreach (FileInfo file in ofd.Files)
{
string fileName = file.Name;
//创建一个新的UserFile对象
UserFile userFile = new UserFile();
userFile.FileName = file.Name;
userFile.FileStream = file.OpenRead();
userFile.UIDispatcher = this.Dispatcher;
userFile.HttpUploader = _HttpUploader;
userFile.UploadHandlerName = _uploadHandlerName;
//检查文件大小限制(配置)
if (userFile.FileStream.Length <= _maxFileSize)
{
//加到列表中
_files.Add(userFile);
}
else
{
MessageChildWindow messageWindow = new MessageChildWindow();
messageWindow.Message = "上传的文件上限为: " + (_maxFileSize / 1024).ToString() + "KB.";
messageWindow.Show();
if (MaximumFileSizeReached != null)
MaximumFileSizeReached(this, null);
}
}
}
}
/// <summary>
///开始上传文件
/// </summary>
private void UploadFiles()
{
if (_files.Count == 0)
{
MessageChildWindow messageWindow = new MessageChildWindow();
messageWindow.Message = "没有文件可以上传, 请选择一个或多个文件!";
messageWindow.Show();
}
else
{
//开始上传
_files.UploadFiles();
}
}
/// <summary>
/// _files.UploadFiles()方法开始上传
/// </summary>
public void UploadFiles()
{
lock (this)
{
foreach (UserFile file in this)
{
if (!file.IsDeleted && file.State == Constants.FileStates.准备 && _currentUpload < _maxUpload)
{
file.Upload(_customParams);
_currentUpload++;
}
}
}
}
/// <summary>
/// UserFile的Upload方法
/// </summary>
/// <param name="initParams"></param>
public void Upload(string initParams)
{
this.State = Constants.FileStates.上传中;
if (HttpUploader)
_fileUploader = new HttpFileUploader(this, UploadHandlerName);
else
_fileUploader = new WcfFileUploader(this);
_fileUploader.StartUpload(initParams);
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
新手求助LineSeries折线的圆点怎么去掉
由于数据比较密集,LineSeries的圆点很大程度上影响了折线图的展示,请问可不可以设置式样把...
-
求教大家:如何继承SL5中的DrawingSurface?
自己写了一个MyDrawingSurface类,继承自DrawingSurface,只在原有基础上新增了几个属性而已...
-
[讨论]Silverlight5 RTM 只能在OOB模式下使用3D硬件加速?
来自:http://silverlight.bayprince.com/tutorials.php?tutorial=8
Silv...
-
LineSeries横轴名称重叠问题
LineSeries横轴名称多的时候,就会重叠,看不清楚,有设置让不重叠,省略一些名称
------解决方案---------...
-
Silverlight DataGrid依某列值決定字体顏色
比如:表里有三列:id,namd,age
我希望当age<18时,age数字的颜色为红色.
本人在网上查过...
-
新手问题,关于WPF的DataGrid控件列标题居中问题!
内容居中已经解决但是标题居中查过一些资料无果!网上有silverlight 4的DataGrid居...
-
serverlight 地图路径查询
就是在serverlight地图上创建两个点,实现最短路径的查询功能,不知道有发实现吗?
------解决方案--------...
-
Microsoft Expression Blend 4 的密钥谁有?
下载了一个Microsoft Expression Blend 4 可是要密钥 怎么办
------解决方案--------...
-
silverlight的输入框在win7平板电脑上不能被感知
最近用了个win7的平板电脑,普通页面如果有输入框,光标点击在上面,光标附件会出现一...
-
Win 8将Silverlight和.Net打入冷宫?
在D9大会上,微软演示了Windows 8如何为应用程序整合了一个以触摸操作为主的用户界面,这些应用...