关于WebUploader的使用总结

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/boom_man/article/details/97794114

近期在使用webUploader给腾讯云上传大文件分片时遇到一些问题进行总结:

首先webUploader只是解决了分片上传问题,并没有解决初始化。合并操作。以及每次分片上传结果的取值等,都需要自己写代码重新实现哦。

①修改具体二进制流 file的名称

在这里插入图片描述
可以通过chrome Form Data view source 看到已经修改成功

修改源代码,没错 你没有听错 就是修改源代码,没有其他方式了

在这里插入图片描述

将其中的fileVal的值修改成你想要的即可

②分片上传自定义参数

通过data放入参数,delete删除默认参数

在这里插入图片描述

③每一个上传成功的回调

在这里插入图片描述
④单个文件上传成功和全部成功回调在这里插入图片描述

⑤腾讯云初始化
在这里插入图片描述
⑥腾讯云合并
在这里插入图片描述

写在末尾

近期有点累

展开阅读全文

关于 webuploader 的一些问题,玩过的进来!

10-27

前台部分代码:rn[code=csharp]rn //这里是跳转到的ashx页面rn // 文件接收服务端。rn server: './server/FileUpload.ashx',rn function setState(val) rn debugger;//3rn var file, stats;rnrn if (val === state) rn return;rn rn $upload.removeClass('state-' + state);rn $upload.addClass('state-' + val);rn state = val;rnrn switch (state) rn case 'pedding':rn $placeHolder.removeClass('element-invisible');rn $queue.hide();rn $statusBar.addClass('element-invisible');rn uploader.refresh();rn break;rnrn case 'ready':rn $placeHolder.addClass('element-invisible');rn $('#filePicker2').removeClass('element-invisible');rn $queue.show();rn $statusBar.removeClass('element-invisible');rn uploader.refresh();rn break;rnrn case 'uploading':rn $('#filePicker2').addClass('element-invisible');rn $progress.show();rn $upload.text('暂停上传');rn break;rnrn case 'paused':rn $progress.show();rn $upload.text('继续上传');rn break;rnrn case 'confirm':rnrn $progress.hide();rn $('#filePicker2').removeClass('element-invisible');rn $upload.text('开始上传');rnrn stats = uploader.getStats();rn if (stats.successNum && !stats.uploadFailNum) rn setState('finish');rn return;rn rn break;rn case 'finish':rn debugger;rn stats = uploader.getStats();rn if (stats.successNum) rn alert('上传成功');rn else rn // 没有成功的图片,重设rn state = 'done';rn location.reload();rn rn break;rn rn updateStatus();rn rnrn uploader.onUploadProgress = function (file, percentage) rn debugger;//4rn var $li = $('#' + file.id),rn $percent = $li.find('.progress span');rnrn $percent.css('width', percentage * 100 + '%');rn percentages[file.id][1] = percentage;rn updateTotalProgress();rn ;rnrn[/code]rn后台ashx代码rn[[code=csharp]rn public void ProcessRequest(HttpContext context)rn rn string name = context.Request["name"];rn context.Response.ContentType = "text/plain";rn //指定字符集rn context.Response.ContentEncoding = Encoding.UTF8;rn if (context.Request["REQUEST_METHOD"] == "OPTIONS")rn rn context.Response.End();rn rn SaveFile();rn rn /// rn /// 文件保存操作rn /// rn /// rn private void SaveFile()rn rn var name = "";rn string DatePath = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString();rn string basePath = "/images/CC/";rn string basePath1 = "/images/CC/";rn basePath = (basePath.IndexOf("~") > -1) ? System.Web.HttpContext.Current.Server.MapPath(basePath) : basePath;rn // basePath =System.Web.HttpContext.Current.Server.MapPath(basePath);rn rn rn HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;rn //如果目录不存在,则创建目录rn if (!Directory.Exists(basePath))rn rn Directory.CreateDirectory(basePath);rn rnrn string[] suffix = files[0].ContentType.Split('/');rn //获取文件格式rn string _suffix = suffix[1].Equals("jpeg", StringComparison.CurrentCultureIgnoreCase) ? "jpg" : suffix[1];rn rn rn // string _temp = System.Web.HttpContext.Current.Request["name"];rn rn rn string _temp = string.Empty;rn rn //如果不修改文件名,则创建随机文件名rn if (!string.IsNullOrEmpty(_temp))rn rn name = _temp+ "." + _suffix;rn rn elsern rn Random rand = new Random(24 * (int)DateTime.Now.Ticks);rn name = rand.Next() + "." + _suffix;rn rn ////文件保存rn string full = basePath+name;rn rn files[0].SaveAs(full);rnrn string _result = "\"name\" : \"2.0\", \"result\" : null, \"id\" : \"" + basePath1 + name + "\"";rnrn System.Web.HttpContext.Current.Response.Write(_result);rn rn public bool IsReusablern rn getrn rn return false;rn rn rn[/code]rn那么问题来了:rn[code=csharp]rn System.Web.HttpContext.Current.Response.Write(_result);rn[/code]rn这个回传的参数,在前台我该怎么接,取不到路径还是很蛋疼的rn我一直以为是在uploader.onUploadProgress里面的file里面有回传,结果让我失望了rn[code=csharp]rn uploader.onUploadProgress = function (file, percentage) rn debugger;//4rn var $li = $('#' + file.id),rn $percent = $li.find('.progress span');rnrn $percent.css('width', percentage * 100 + '%');rn percentages[file.id][1] = percentage;rn updateTotalProgress();rn ;rn[/code]rn有谁知道这个是怎么传的,弄了一天没弄出来个答案 论坛

没有更多推荐了,返回首页