原有的上传是把二进制BASE64后POST,
缺点自然很明显.
客户端需要承受巨大数据转化问题(2M以上文件),
服务端也是不好受,也要承担额外解码压力!
修改上传为原始二进制,提高网络吞吐量!
使用说明,务必看清楚文件头说明!
服务端文件 router/attach.php 对应压缩包里的PHP文件
第一步把修改的内容对应放到"!defined('DEBUG') and exit('Access Denied.');"下面.
第二步在view/xiuno.js 或者你当前风格的文件夹里找到上传函数"xn.upload_file = function (file, upload_url, postdata, complete_callback, progress_callback, thumb_callback) {" 对应把JS里面的代码放进去函数里的头等舱.
改动的的代码第一行if (upload_url.indexOf('attach') != -1) { 意思是确保你上传的URL是对应 router/attach.php 否则就使用原来的方式上传
后语:需要注意修改后的是没有原来的本地加水印功能(当你你可以在ctx.drawImage(imgbit, 0, 0);后面增加原有的水印处理),但是可以限制最大宽度高度缩放,另外就是非图片文件进行压缩后上传,
服务端可以看说明,搜索zip,如有需要可以现在附件只允许压缩文件和图片到达服务器,其他附件一律拒绝.