【问题标题】:No data received in POSTPOST 中没有收到数据
【发布时间】:2016-03-19 05:03:17
【问题描述】:

我正在尝试将文件上传到服务器。这是我的表单代码。

<form method="POST" action="<%request.getContextPath();%>/OPMS/webl" enctype="multipart/form-data">


<input type="hidden" name="handler" value="fileupload" />
<input type="hidden" name="user" value="${dev.getUserId()}" />
<input type="file" id="fileLoader" name="files" title="Load File" />
<button type="button" class="btn btn-primary" onClick="openFileChooser();"><em class="fa"></em> Choose File</button>
<button type="submit" class="btn btn-primary"><em class="fa fa-upload"></em> Upload </button>
</form>

问题是我无法从属性中获取数据。当我检查处理程序时,它返回 null。但是,如果我将方法更改为GET,我可以正确查看请求中的参数,但 get 不适用于所使用的表单 enctype 类型。

【问题讨论】:

  • 您是否收到错误消息?我们需要查看您用来尝试接收文件的代码。
  • 我在尝试请求时遇到空指针异常。 getParameter("handler").equals("fileupload")

标签: html forms jsp post


【解决方案1】:

如果您只是想完成工作,我推荐 Ravishanker Kusuma 的Hayageek jQuery File Upload plugin

http://hayageek.com/docs/jquery-upload-file.php

他将这个过程分解为三个简单的步骤,基本上是这样的:

<head>
    <link href="http://hayageek.github.io/jQuery-Upload-File/uploadfile.min.css" rel="stylesheet">  // (1)
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script src="http://hayageek.github.io/jQuery-Upload-File/jquery.uploadfile.min.js"></script>   // (1)
</head>
<body>
    <div id="fileuploader">Upload</div>  // (2)
    <script>
        $(document).ready(function(){
            $("#fileuploader").uploadFile({  // (3)
                url:"my_php_processor.php",
                fileName:"myfile"
            });
        });
    </script>
</body>

最后一步是让 jQuery 代码中指定的 PHP 文件(在本例中为 my_php_processor.php)来接收和处理文件:

my_php_processor.php:

<?php
    $output_dir = "uploads/";
    $theFile = $_FILES["myfile"]["name"];
    move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName);

注意 PHP 中的myfile ($_FILES["myfile"]) 和 jQuery 代码块中指定的文件名之间的关系。

【讨论】:

  • 我用的是jsp..那么文件必须是什么类型??
  • 对不起,我应该在您的代码中注意到这一点,并且应该在问题(标签)中指定它。此解决方案可能不适合您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多