2 elysion k elysion_k 于 2016.04.29 17:43 提问

ajax上传图片至远程服务器参数问题
 function ajaxFileUpload(){
    var fileData = $("#fileImg").attr("src");
    var csid = $("#csid").val();
    var fileName = $("input[type='file']").val();
    alert($.handleBase64(fileData))
    $.ajax({  
        type : "POST",  
        async:false,  
        data:{"fileData" : $.handleBase64(fileData),  "csid" : csid, "fileName" : fileName},
        url : "http://***.***.1.130:8086/core/fileUpload.singleBase64AjaxUpload.do",  
        dataType : "jsonp",//数据类型为jsonp  
        jsonp: "jsonpCallback",//服务端用于接收callback调用的function名的参数  
        success : function(data){  
            alert(data)
        },  
        error:function(){  
            alert('fail');  
        }  
    });
}

用ajax调用远程服务器上传图片,在本地通了 但是url换远程服务器地址文件一大就报错 报错如下
图片说明

注:
参数fileData为base64转码后的字符串, 图片大小超过2K则无法上传图片 , 所以我猜测是参数太长 ,, 有朋友遇到过这个问题吗 ,, 有别的方式传参吗

2个回答

showbo
showbo   Ds   Rxr 2016.04.30 11:06

var fileData = $("#fileImg").attr("src");
你fileData是img src属性,又不是文件2进制数据,你动态页怎么写的?肯定是报错了

showbo
showbo 回复elysion_k: 那就是服务器配置的问题,如asp默认上传数据大小200kb,asp.net是4M,你自己修改下tomcat或者你语言的上次大小配置
一年多之前 回复
elysion_k
elysion_k var fileData = $("#fileImg").attr("src"); 这一句是cropbox转码后的数据 已经是base64格式的图片了 后台再解析就能打印图片, 小图已经成功, 但是大图转码后太长 会报错
一年多之前 回复
u014427391
u014427391   2016.05.01 00:38
elysion_k
elysion_k 我并不是直接拿的file文件域去上传,上传之前因为要预览所以用了插件截图后转成了base64的数据 所以你那种方法不太适合我,
一年多之前 回复
elysion_k
elysion_k 回复elysion_k: 我傻逼了 , 打开了,
一年多之前 回复
elysion_k
elysion_k 你好, 你给的博客挂了 ,
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!