ajax提交file文件 在后台action中是Formfile 报错 10C

java.lang.IllegalArgumentException: Cannot invoke com.msun.costAccount.form.BaseSalaryImpFrom.setUpfile - argument type mismatchfunction BaseSalaryImp(){
alert($("#date").val());
var date=$("#date").val();
alert($("#BaseSalaryImpupfile").val());
var upfile=$("#BaseSalaryImpupfile").val();
$.ajax({
type: "POST",
url: "${ctx}/BaseSalaryImpAction.do?type=import",
data:{"pojo.opdate":date,"pojo.upfile":upfile},
success: function(result){
if(result == 0){
alert("导入失败!");

}else if(result ==1){
alert("导入成功!");

        }
     }

    });

}

16个回答

错误类型标明是参数非法,action中如何接受参数的呢?

$.ajax是不可以提交文件的,要使用插件
var options = {
url: url,
type : 'POST',
success: function (data) {
alert(data);
}
};
$("form").ajaxSubmit(options);
form表单中带着file

ajax不可以上传文件,建议使用jQuery插件ajaxFileUpload

使用jQuery插件ajaxFileUpload,百度一下即可。使用方式如下:

$.ajaxFileUpload
(
{
url: 'BillApply.aspx', //用于文件上传的服务器端请求地址
secureuri: false, //一般设置为false
fileElementId: ['fileAdd'], //文件上传空间的id属性
dataType: 'text', //返回值类型
data: {
mode: "uploadfile",
GameID: gameID,
IsNewGame: $("#isnewgame").attr("checked") ? 1 : 0
},
success: function (data, status) //服务器成功响应处理函数
{

                  var arr = new Array();
                  arr = data.split("#");

                  if (arr[0] == '0') {
                      $('#fileAdd').val("");
                      layer.alert(arr[1], { icon: 2, title: '错误' });
                      return false;
                  }
                  else if (arr[0] == '1') {
                      $("#gameserver").text(arr[2]);
                      return false;
                      //layer.alert(data.msg, { icon: 1, title: '成功' });
                  }
              },
              error: function (data, status, e)//服务器响应失败处理函数
              {
                  alert(e);
              }
          }
      )
},

直接用媒体标签提交也是可以的

ajaxSubmit

用这个库就可以上传文件了

你可以百度,有很多都能收到

uploadify插件

//前台

$(function() { $("#uploadify").uploadify({ 'swf' : "/uploadify/uploadify.swf", 'uploader' : "{:url('imports')}", 'buttonText' : '图片上传', 'buttonClass' : 'btn btn-success', 'fileTypeDesc' : 'Image Files', 'fileTypeExts' : '*.gif; *.jpg; *.png', 'fileObjName' : 'img', 'queueID' : 'fileQueue', 'onUploadSuccess' : function(file, data, response) { // alert(data); var src=data; var img="<img width='200px' height='100px' src='"+src+"'>"; $("#imgtext").attr('value',src); $("#img").html(img); }, }); $('#uploadify-button').removeAttr('style'); });
//后台

//uploadify 上传图片
public function imports(){
    $file = request()->file('img');
    $info = $file->move(ROOT_PATH . '/public/uploads');
    if($info){
      echo $info->getSaveName();

    }else{

      echo $file->getError();
    }


}

//前台

  <script>
     $(function() {
            $("#uploadify").uploadify({
                'swf'             : "/uploadify/uploadify.swf",  
                'uploader'        : "{:url('imports')}", 
                'buttonText'      : '图片上传', 
                'buttonClass'     : 'btn btn-success',
                'fileTypeDesc'    : 'Image Files',  
                'fileTypeExts'    : '*.gif; *.jpg; *.png',     
                'fileObjName'     : 'img',  
                'queueID'         : 'fileQueue',
                'onUploadSuccess' : function(file, data, response) {  
                   // alert(data);
                   var src="__PUBLIC__/uploads/"+data;
                   var img="<img width='200px' height='100px' src='"+src+"'>";
                   $("#imgtext").attr('value',src);
                   $("#img").html(img);
              }, 
            });
            $('#uploadify-button').removeAttr('style');
        });

    </script>
qq_39255891
筱爞 求c币
大约 2 年之前 回复
qq_39255891
筱爞 fileTypeExts
大约 2 年之前 回复
qq_39255891
筱爞 上传文件改一下类型就行
大约 2 年之前 回复

可以使用angular的文件上传插件
https://github.com/nervgh/angular-file-upload

共16条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问