@葬梦,你好感谢你的分享,但是我发现了两个bug,第一个是:当我限制数量为1,第二次上传的时候页面提示只能上传1个但是进度还是重新加载了,而且也重新上传到服务器了还是执行请求了?第二个是:第二次上传的时候没有判断文件上传的类型?
编辑页面引入该js 后,发现没有能初始化就显示图片的方法啊。 通过后台传来的图片路径,显示相应的图片到框框中,这个没有,
反馈一个BUG:
我上传多个文件的时候回出现 有部分文件显示 失败,但是实际是已经上传成功了的。
出现原因是因为:总进度条读完了 下面的文件如果还在读条的话 会立马就变成错误
是有这种情况,因为,有两个接口,一个接口是:uploadUrl,另一个是:progressUrl
这两个接口,第一个负责文件上传,第二个负责读取文件上传的进去,这里有一个bug,可以说是bug,就是如果你不写progressUrl,那么这个插件默认用模拟的数据进行累加上传的数据,什么意思呢,就是每秒增5000kb,但是你实际上早就上传成功了,总进度条没什么问题,但是文件进度条,就会根据模拟的这个数据进行判别是否上传成功,如果突然中止了(总进度条上传成功),但是模拟上传的数据还没有达到文件上传的数据总量,那么,之后所有的文件都会显示失败。
解决办法:设置一个progressUrl,后台写一个读取文件上传进度的接口
我看不到演示效果 一片空白... 谷歌浏览器
楼主,用C#怎么上传图片啊
你好,请问这个 progressUrl 怎么填,是哪个路径呢,能举个例子吗
你看下我底下留下的链接,
https://pan.baidu.com/s/1hrLgel2
,是我用Spring MVC做的一个例子,里面还有用servlet做的例子,里面又涉及到进度条的上传,如果你是学java的,应该可以看懂,写的很浅显,如果你是写其它的,我帮不了你多少,我只能和你讲讲我的思路。
文件上传,在后台有两个操作,一个操作是将文件进行保存,另一个操作是记录文件上传了多少数据,和总数据量多少,这是一个监听的操作,需要写一个接口来获取这个进度,比如说:
/** * 这里是获取上传文件状态信息的访问接口 * @param session * @return */ @ResponseBody @RequestMapping("getStatus.do") public UploadStatus getStatus(HttpSession session){ System.out.println((UploadStatus)session.getAttribute("upload_status")); return (UploadStatus)session.getAttribute("upload_status"); }
这个接口就是你要写的这个progressUrl 地址
楼主你好,文件上传成功之后input里面的文件不是应该自动删除吗,这个要怎么实现呢?
楼主 您看一下,formData进行append的时候 ,而且我追加的数据都是存在的呀! 为啥追加不进去呢? 还有那个webkitRelativePath:"" 代表什么意思呢??文件的相对路径吗? 这个是必须有的吗??
把你的源码下载下来, "beforeUpload":beforeUploadFun,//在上传前执行的函数
"onUpload":onUploadFun,//在上传后执行的函数这俩行注释去掉,函数并没有执行
你好,我自己下载下来玩了一下
在这里我解释一下:
1、"beforeUpload":beforeUploadFun
function beforeUploadFun(opt){ opt.otherData =[{"name":"你要上传的参数","value":"你要上传的值"}]; }
在文件上传的时候,可能需要传一些其他的参数,这个执行你是看不见的,你可以在这个方法里面加一个alert来查看
2、"onUpload":onUploadFun
function onUploadFun(opt,data){ alert(data); uploadTools.uploadError(opt);//显示上传错误 }
这个代码你没办法,你也不好看见,但是还是可以用alert调用出来,我试了下,在 "onUpload":onUploadFun后面的‘,’(逗号)我写错了,你也可以试试用alert调用,这个方法的opt是初始化参数对象,不要去掉,这里的data是你后台传送给前台的数据,也不要去掉,方便你调用
注意上面两个方法参数都不要去掉
不错,目前为止看到给出参考描述最详细的,并且楼主几乎回复了每一个发问者信息
你好,请问这个可以搭配php使用吗
"onUpload":function()这个上传成功的函数无法执行。错误在哪里?