首页 > 其他分享 >form标签multipart/form-data 文件上传表单中 传递参数无法获取的原因!

form标签multipart/form-data 文件上传表单中 传递参数无法获取的原因!

时间:2023-05-24 21:04:43浏览次数:31  
标签:form upload multipart action document data


JAVA后台获取不到form表单提交值的情况

可能的原因:

1、提交元素的name与获取的name不符--request.getParameter(name)

2、传递的值为空

3、form没有嵌套input

4、form加了enctype="multipart/form-data"属性

其中第4种可能的情况主要是是因为在使用multipart/form-data属性之后请求体发生了变化。不是key=value的形式出现了,所以说获取不到。 

解决办法: 

(1)我们可以通过js代码来些修改,把我们的参数追加在url的后边。

<div>
    <div class="bjui-searchBar">
        <span style="font-size: 14px; padding: 3px;font-weight: 300"> 文件名称: </span>
        <input type="text" class="input-nm" value=" ${staticResourceFile.fileName!}" readonly size="50" data-rule="required;length(1~128)">
    </div>
    <div class="bjui-searchBar">
        <span style="font-size: 14px; padding: 3px;font-weight: 300"> 当前目录: </span>

        <form action="${ctxPath}/staticResource/upload" name="upload" enctype="multipart/form-data" method="post">
            <input type="text" name="currentPath" class="input-nm" value="${staticResourceFile.parentPath!}" size="50" data-rule="required;length(1~128)">
            <input type="file" name="file">
            <input type="submit" name="上传">
        </form>
        <span>当前支持格式为:jpg,png,css,js,mp4(50M以内)</span>
    </div>
</div>

<script src="/www/xgwy/js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
    function formSubmit(){
        var action = "${ctxPath}/staticResource/upload";
        action += "?currentPath="+document.upload.currentPath.value;
        document.upload.action = action;
        document.upload.submit();
    }
</script>

 

(2)通过修改服务器端代码。前提是利用jar包。 

代码后续再加上。

标签:form,upload,multipart,action,document,data
From: https://blog.51cto.com/u_16128050/6342861

相关文章

  • HTML标签:表单标签(form标签)
    表单:*概念:用于采集用户输入的数据的。用于和服务器进行交互。*form:用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围*属性:*action:指定提交数据的URL(统一资源定位符)*method:指定提交方式*分类:一共7种,2种比较常用(面试也经......
  • rm datafile恢复实验【未完】
    from手记41.[oracle@redhat5asm11g]$ls-tltotal1889656-rw-r-----1oracleoinstall9748480Aug2905:17control01.ctl-rw-r-----1oracleoinstall52429312Aug2905:17redo02.log-rw-r-----1oracleoinstall566239232Aug2905:17sysaux01.dbf......
  • System.Windows.Forms.TextBox ImeMode只输入数字或者只输入文字快以及捷键ctrl+c ctr
    //设置输入法发编辑模式,例如只输入数字或者只输入文字等等txtPassword.ImeMode=ImeMode.Off;//指示是否启用定义的快捷方式,例如设置快捷键ctrl+cctrl+v是否可用txtPassword.ShortcutsEnabled=false;txtPassword.Password......
  • Expected MultipartHttpServletRequest: is a MultipartResolver configured方案。
    //1.报错:ExpectedMultipartHttpServletRequest:isaMultipartResolverconfigured?//2.解决<!--uploadify文件上传组件--><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId>......
  • nonstatic data members 和 static data members
    在C++中,类的数据成员可以分为非静态数据成员(non-staticdatamembers)和静态数据成员(staticdatamembers)。非静态数据成员(non-staticdatamembers):非静态数据成员是类定义中没有使用static关键字声明的数据成员。对于这些数据成员,每个类的实例都有各自独立的内存空间,它们在对象......
  • WPF实现两个DataGrid列表的滚动条同步
    实现目标:左右两个DataGrid对比显示,希望拖动一个列表的滚动条,就把别一个列表的滚动条移动到相应位置。 主要思路是:通过FindVisualChildren找到两个DataGrid的ScrollViewer控件,然后注册两个控件的ScrollChanged事件,只要有一个ScrollViewer的VerticalOffset值变了,就相应地修改另......
  • .Net使用HttpClient以multipart/form-data形式post上传文件及其相关参数
    httpClient模仿Postman的form-data格式 api接口[HttpPost(Name="/Test/FileTest")]publicJGResponse<PutFileByNameResponse>FileTest([FromForm]PutFileByNameRequestrequestDto){varcapthch=GetCaptcha();......
  • Winform虚拟/模拟键盘
    项目需要在触摸屏上增加一个虚拟键盘。记录下过程中遇到的问题及解决方法。1.模拟按键网上找到如下3种方法1)SendKeys.Send测试单独的shift不好用,所以最终未采纳此方法SendKeys.Send("^{E}");//shift+eSendKeys.Send("{Enter}");2)keybd_event最终选择了这个方法,简单有效......
  • 【Java Web】MultipartFile和byte[]互转
    接口接收文件@RequestParam("file")MultipartFilefileMultipartFile转byte[]Stringname=file.getName();StringoriginalFilename=file.getOriginalFilename();StringcontentType=file.getContentType();Stringbytes=file.getBytes();byte[]转Multipar......
  • C# Winform按钮避免重复点击
    btn_01.Enabled=false;//执行任务的函数和代码//执行任务的函数和代码Application.DoEvents();btn_01.Enabled=true;就是让应用程序的消息队列自动走完(在按钮正常前清空消息队列即可)......