AjaxUploader使用
一、简单上传(Simple Upload with Progress)
<CuteWebUI:Uploader ID="ajaxUploader" runat="server" InsertText="上传文件" OnFileUploaded="Uploader_FileUploaded">
</CuteWebUI:Uploader>
protected void Uploader_FileUploaded(object sender, UploaderEventArgs args)
{
args.MoveTo(args.FileName);
}
二、多文件上传(Selecting multiple files for uploading)
<CuteWebUI:Uploader ID="ajaxUploader" runat="server" MultipleFilesUpload="true" InsertText="上传多个文件" OnFileUploaded="Uploader_FileUploaded">
</CuteWebUI:Uploader> protected void Uploader_FileUploaded(object sender, UploaderEventArgs args)
{
args.MoveTo(args.FileName);
}
三、自定义UI(Simple Upload with Progress (Customizing the UI))
<CuteWebUI:Uploader ID="ajaxUploader" runat="server" InsertText="上传文件" InsertButtonID="ajaxUploaderInsert" CancelButtonID="ajaxUploaderCancel" ProgressCtrlID="ajaxUploaderProgress" ProgressTextID="ajaxUploaderProgressText" OnFileUploaded="Uploader_FileUploaded">
</CuteWebUI:Uploader>
<asp:Image ID="ajaxUploaderInsert" runat="server" AlternateText="上传" ImageUrl="http://ajaxuploader.com/sampleimages/upload.png" />
<asp:Panel ID="ajaxUploaderProgress" runat="server" BorderColor="Orange" BorderStyle="dashed" BorderWidth="">
<asp:Label ID="ajaxUploaderProgressText" runat="server" ForeColor="Firebrick"></asp:Label>
</asp:Panel>
<asp:Image ID="ajaxUploaderCancel" runat="server" AlternateText="取消上传" ImageUrl="http://ajaxuploader.com/sampleimages/cancel_button.gif" /> protected void Uploader_FileUploaded(object sender, UploaderEventArgs args)
{
args.MoveTo(args.FileName);
}
四、自定义验证(Custom Validation)
<CuteWebUI:Uploader ID="ajaxUploader" runat="server" InsertText="上传文件" OnFileUploaded="Uploader_FileUploaded">
<ValidateOption AllowedFileExtensions="jpeg,jpg,gif,png" MaxSizeKB="" />
</CuteWebUI:Uploader>
五、添加附件(Uploading multiple files like GMail)
<CuteWebUI:UploadAttachments ID="ajaxUploadAttachments" runat="server" InsertText="上传文件" MultipleFilesUpload="true"></CuteWebUI:UploadAttachments>
<asp:Button ID="BtnDeleteAll" runat="server" Text="全部删除" OnClick="BtnDeleteAll_Click" /> protected void BtnDeleteAll_Click(object sernder, EventArgs args)
{
ajaxUploadAttachments.DeleteAllAttachments();
}
六、(Persist uploaded files through postback)
<CuteWebUI:UploadPersistedFile ID="ajaxUploadPersistedFile" runat="server" InsertText="上传文件" OnFileChanged="ajaxUploadPersistedFile_FileUploaded"></CuteWebUI:UploadPersistedFile> protected void ajaxUploadPersistedFile_FileUploaded(object sender, PersistedFileEventArgs args)
{
args.MoveTo(args.FileName);
}
七、模拟文件上传(Simulate File Upload)
<CuteWebUI:Uploader ID="ajaxUploader" runat="server" InsertText="上传" OnFileUploaded="ajaxUploader_FileUploaded"></CuteWebUI:Uploader>
<CuteWebUI:UploadAttachments ID="ajaxUploadAttachments" runat="server" InsertText="上传" OnAttachmentAdded="ajaxUploadAttachments_AttachmentAdded"></CuteWebUI:UploadAttachments> protected void ajaxUploader_FileUploaded(object sender,UploaderEventArgs args)
{
using (Stream stream = args.OpenStream())
{
ajaxUploadAttachments.Upload(args.FileSize, args.FileName, stream);
}
} protected void ajaxUploadAttachments_AttachmentAdded(object sender,AttachmentItemEventArgs args)
{
Response.Write(args.Item.FileName);
八、允许最大上传数量(Limit the maximum number of files allowed to upload)
<CuteWebUI:Uploader ID="ajaxUploader" runat="server" InsertText="上传" MultipleFilesUpload="true" OnFileUploaded="ajaxUploader_FileUploaded"></CuteWebUI:Uploader>
<CuteWebUI:UploadAttachments ID="ajaxUploadAttachments" runat="server" OnAttachmentAdded="ajaxUploadAttachments_AttachmentAdded"></CuteWebUI:UploadAttachments> private int GetVisibleItemCount()
{
int count = ;
foreach (AttachmentItem item in ajaxUploadAttachments.Items)
{
count++;
}
return count;
} protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
ajaxUploader.InsertButton.Enabled = GetVisibleItemCount() < ;
} protected void ajaxUploader_FileUploaded(object sender, UploaderEventArgs args)
{
if (GetVisibleItemCount() >= )
return;
using (Stream stream = args.OpenStream())
{
ajaxUploadAttachments.Upload(args.FileSize, "ChangeName-" + args.FileName, stream);
}
} protected void ajaxUploadAttachments_AttachmentAdded(object sender, AttachmentItemEventArgs args)
{ }
九、手动开始上传(Start uploading manually)
<script type="text/javascript">
function submitbutton_click() {
var submitButton = document.getElementById('<%=BtnSubmit.ClientID %>');
var uploadObj = document.getElementById('<%=ajaxUploadAttachments.ClientID %>');
if (!window.filesuploaded) {
if (uploadObj.getqueuecount() > ) {
uploadObj.startupload();
} else {
var uploadedcount = parseInt(submitButton.getAttribute("itemcount")) || ;
if (uploadedcount > ) {
return true;
}
alert("Please browse files for uploading");
}
return false;
}
window.filesuploaded = false;
return true;
}
function CuteWebUI_AjaxUploader_OnPostback() {
window.filesuploaded = true;
var submitbutton = document.getElementById('<%=BtnSubmit.ClientID %>');
submitbutton.click();
return false;
}
</script> <CuteWebUI:UploadAttachments ID="ajaxUploadAttachments" runat="server" ManualStartUpload="true" InsertText="上传" OnFileUploaded="ajaxUploadAttachments_FileUploaded"></CuteWebUI:UploadAttachments>
<asp:Button ID="BtnSubmit" runat="server" Text="开始上传" OnClientClick="return submitbutton_click()" /> protected override void OnPreRender(EventArgs e)
{
BtnSubmit.Attributes["itemcount"] = ajaxUploadAttachments.Items.Count.ToString();
base.OnPreRender(e);
}
protected void ajaxUploadAttachments_FileUploaded(object sender, UploaderEventArgs args)
{ }
AjaxUploader使用的更多相关文章
- MVC&WebForm对照学习:文件上传(以图片为例)
原文 http://www.tuicool.com/articles/myM7fe 主题 HTMLMVC模式Asp.net 博客园::首页:: :: :: ::管理 5 Posts :: 0 ...
- .net ajax式上传文件
今天在这里介绍一下ajax上传文件.其实也不算是真的使用xmlhttprequest上传,只是使用了iframe实现了无刷新上传而已,最多也只算 是仿ajax上传文件.然而网上关于使用xmlhttpr ...
随机推荐
- 1.__tostring()这个方法在类里可以直接输出对象。2.克隆对象的运用
<?php //__tostring()这个方法在类里的用途 能够直接输出对象 class Ren { public $name; function Run() { echo "跑&q ...
- Atitit.如何选择技术职业方向
Atitit.如何选择技术职业方向 1. 原则是应该如下的应该从以下指标判断1 1.1. 技术的长寿性(长生命周期1 1.2. 技术的普适性(市场份额)1 1.3. **属于open体系还是封闭体系? ...
- MyEclipse使用总结——设置MyEclipse开发项目时使用的JDK
安装好MyEclipse之后,在MyEclipse中开发项目时,默认使用的是MyEclipse是自带的JDK,如下图所示: 如果我们需要使用自己安装好的JDK,那么就需要在MyEclipse中重新设置 ...
- GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
转:http://www.tuicool.com/articles/NVVnMn (1)GCD实现的同步异步.串行并行. ——同步sync应用场景:用户登录,利用阻塞 ——串行异步应用场景:下载等耗时 ...
- MySQL Cluster 7.3.3 官方版本下载
MySQL Cluster 是 MySQL 适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.在MyQL 5. ...
- maven继承parent,relativePath warn信息的解决办法
往下看之前一定要先看 %MAVEN_HOME%/conf/settings.xml 配置文件的是否更改了,是否配置正确 <mirror> <id>nexus</id> ...
- js 日期有效性验证 的一点思考
在日常项目中经常遇到日期输入验证,以前我遇到的项目是日期只能通过日历控件来选择,最近我同事遇到一个问题是日期除了可以通过日历控件来输入也可以手动来输入,可是我们项目中居然没有日期格式的验证方法(备注: ...
- Eclipse Maven to create Struts2 Project
Follow the guide in this page: http://blog.csdn.net/topwqp/article/details/8882965 problem met : Des ...
- ELK——Logstash 2.2 mutate 插件【翻译+实践】
官网地址 本文内容 语法 测试数据 可选配置项 mutate 插件可以在字段上执行变换,包括重命名.删除.替换和修改.这个插件相当常用. 比如: 你已经根据 Grok 表达式将 Tomcat 日志的内 ...
- ldr和adr在使用标号表达式作为操作数的区别
ARM汇编有ldr指令以及ldr.adr伪指令,他门都可以将标号表达式作为操作数,下面通过分析一段代码以及对应的反汇编结果来说明它们的区别. ldr r0, _start adr r0 ...