目前问题:plupload上传带参数到后台,迟迟没有解决!!!
昨晚到23点多终于完成了!
直接上代码!
var uploader = new plupload.Uploader({ //实例化一个plupload上传对象
browse_button: 'btnChange',
url: '/Info/Upload',
flash_swf_url: 'js/Moxie.swf',
silverlight_xap_url: 'js/Moxie.xap',
filters: {
mime_types: [ //只允许上传图片文件
{ title: "图片文件", extensions: "jpg,gif,png" }
]
}
});
uploader.init(); //初始化
//绑定文件添加进队列事件
uploader.bind('FilesAdded', function (uploader, files) {
for (var i = 0, len = files.length; i < len; i++) {
var file_name = files[i].name; //文件名
var file_size=uploader.files[i].origSize;//文件大小
//构造html来更新UI
var html = '<tr id="file-' + files[i].id + '"><td class="file-name">' + file_name + '</td><td class="file-size">' + file_size + '</td><td class="progress"></td></tr>';
$(html).appendTo('#file-list');
!function (i) {
previewImage(files[i], function (imgsrc) {
$('#file-' + files[i].id).append('<img src="' + imgsrc + '" />');
})
}(i);
}
});
——————————————————————————————这里是重点。在上传之前绑定事件中,重新定义Url即可!!!。。。尴尬啊
uploader.bind('BeforeUpload', function (uploader, files) {
uploader.settings.url = "/Info/Upload?cid=" + $("#seled").val();
console.log(uploader);
console.log(files);
});
document.getElementById('uploadfiles').onclick = function (data) {
uploader.start();
return false;
};
//plupload中为我们提供了mOxie对象
//有关mOxie的介绍和说明请看:https://github.com/moxiecode/moxie/wiki/API
//如果你不想了解那么多的话,那就照抄本示例的代码来得到预览的图片吧
function previewImage(file, callback) {//file为plupload事件监听函数参数中的file对象,callback为预览图片准备完成的回调函数
if (!file || !/image\//.test(file.type)) return; //确保文件是图片
if (file.type == 'image/gif') {//gif使用FileReader进行预览,因为mOxie.Image只支持jpg和png
var fr = new mOxie.FileReader();
fr.onload = function () {
callback(fr.result);
fr.destroy();
fr = null;
}
fr.readAsDataURL(file.getSource());
} else {
var preloader = new mOxie.Image();
preloader.onload = function () {
preloader.downsize(300, 300);//先压缩一下要预览的图片,宽300,高300
var imgsrc = preloader.type == 'image/jpeg' ? preloader.getAsDataURL('image/jpeg', 80) : preloader.getAsDataURL(); //得到图片src,实质为一个base64编码的数据
callback && callback(imgsrc); //callback传入的参数为预览图片的url
preloader.destroy();
preloader = null;
};
preloader.load(file.getSource());
}
}