目前有二个地方用到了上传图片文件,一个是标题图片,另一个是编辑器中的图片上传。
下面是上传标题图片的方法:
//标题图片上传 $("#imgFile").uploadify({ buttonText: '请选择一张图片', fileTypeDesc: 'Image Files', multi: false, fileTypeExts: '*.gif; *.jpg; *.png', height: 30, swf: '/static/scripts/uploadify/uploadify.swf?ver=3.2.1', uploader: '/manager/ajax/upload?type=title', width: 150, onQueueComplete: function (queueData) { //alert(queueData.uploadsSuccessful + ' files were successfully uploaded.'); $(".file_upload").hide(); }, onUploadSuccess: function (file, data, response) { //file 上传的文件名 //data 后台返回的上传的文件路径 //respone 上传成功为true,失败为false if (data != "") { $("#thumbnail").val($.parseJSON(data).url); $("#thumb_img").attr("src", $.parseJSON(data).url); $("#clearThum").css("display", "block"); } } });
另一个是kindeditor中的图片上传:
KindEditor.ready(function (K) { window.editor = K.create('textarea[name="content"]', { uploadJson: '/manager/ajax/upload?type=content', afterBlur: function () { this.sync(); } }); });
后台上传的action为: public ActionResult Upload(string type){。。。。},其中定义了一type参数。
参数type=title表示上传标题图片,content标示上传编辑器图片,在action中通过判断此参数来决定生成缩略图的宽度和高度。原先type只有title和content二种值,所以只要在action中用if(type=="title"){imageWidth=300;imageHeight=150;}else{.....}就可以处理了。
但是现在又多了一个幻灯片图片上传的地方,但不想再复制一个方法。所以有没有方法在第一个方法中加动态提供type的参数,如果点击的是标题图片就生成/manager/ajax/upload?type=title,如果点击的是slide则生成/manager/ajax/upload?type=slide这样的交果?
onUploadStart : function(file) {
$("#imgFile").uploadify("settings","formData",$("#type").val());
}
上面漏参数了。onUploadStart : function(file) {
$("#imgFile").uploadify("settings","formData",{“type”,$("#type").val()});
}