我在做一个jcrop图片裁剪后上传的功能,很奇怪,jcrop的裁剪参数都可以传值成功,但是文件名却死活传不上去,请问是什么原因? 我的步骤为: 1、定义全局变量:var fileName = ""; 2、在上传按钮的change事件里给fileName赋值 - $("#up_img").on("change", function() {
- self.jcropAPI = $.Jcrop('#cropbox', {
- aspectRatio : 160 / 120,
- bgOpacity : 0.5,
- bgColor : 'white',
- keySupport : true
- });
- self.jcropAPI.setSelect([ 50, 65, 50 + 160, 65 + 120 ]);
- self.jcropAPI.setOptions({
- bgFade : true
- });
- self.jcropBin = true;
- $("#up_img").attr("disabled", "disabled");
- self.comp("btn_CutReset").set({
- "disabled" : false
- });
- self.fileName = $("#up_img").val();
- debugger;
- alert(self.fileName);
- });
复制代码
然后通过sendRequest调用baas服务 - this.curPos = this.jcropAPI.tellSelect();
- var self = this;
- alert(this.fileName); //这里运行的时候可以弹出文件名
- //debugger;
- justep.Baas.sendRequest({
- "url" : "/vjums/Vjums",
- "action" : "uploadImg",
- "async" : false,
- "params" : {curpos: this.curPos,filename:this.fileName},
- "success" : function(data) {
- alert(data.filename);
- self.upload_RetFilename = data.filename;
- }
- });
复制代码
服务端接收并打印接收值 - JSONObject ret = new JSONObject();
- System.out.println(params.get("curpos")); //这里输出的是正常数据
- System.out.println(params.getString("filename")); //这里输出的始终为null
- ret.put("filename", params.getString("filename"));
复制代码
请问如何解决??
|