CuteWebUI.AjaxUploader的上传,做项目的时候用到了,问题多多,网上没查到,琢磨了一下汇总如下
如果是手动,那么就是全部上传完一次性写入数据库,注意***部分
aspx
<%@ Register TagPrefix="CuteWebUI" Namespace="CuteWebUI" Assembly="CuteWebUI.AjaxUploader" %>
<CuteWebUI:UploadAttachments InsertText="选择附件上传" runat="server" ID="Attachments1"
MultipleFilesUpload="true">
</CuteWebUI:UploadAttachments>
protected void Page_Load(object sender, EventArgs e)
{
Attachments1.RemoveButtonText = "删除";
Attachments1.ValidateOption.AllowedFileExtensions = FileType;
Attachments1.ValidateOption.MaxSizeKB = MaxFileSize * 1024;
Attachments1.ManualStartUpload = true;//*******
Attachments1.ProgressTextTemplate = "正在上传%F%,进度%SEND%/%SIZE%,速度%KBPS%,剩余%T%秒";
Attachments1.FileTooLargeMsg = "所选择的文件超过允许上传的大小限制";
Attachments1.FileTypeNotSupportMsg = "该类型文件不允许上传";
Attachments1.CancelAllMsg = "取消所有上传";
}
protected void bt_submit_Click(object sender, EventArgs e) //按确认后一次性写入数据库
{
...............................无关代码略
if (Attachments1.Items.Count > 0)
{
for (int i = 0; i < Attachments1.Items.Count; i++)
{
string filepath = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "_" +Attachments1.Items[i].FileName;
string savepath = Server.MapPath(UploadPath + "\\") + filepath;
Attachments1.Items[i].MoveTo(savepath);//*******
...............................无关代码略
}
}
...............................无关代码略
}
如果是自动,可以在AttachmentAdded事件中一条一条写入数据库,这个事件在上传成功一个文件后触发
Attachments1.ManualStartUpload = false;
protected void Attachments1_AttachmentAdded(object sender, AttachmentItemEventArgs args)
{
args.Item.FileName FileSize 这里传一条处理一条
Attachments1.Items[0].MoveTo(savepath);
}
最后,要是碰到500错误,加上 ValidateRequest="false"吧,解决了500问题,这个上传控件就是现在最好用最方便的,网上破解版本很管用