2

目前,当表单中的文件参数为null或为空时,Web 应用程序会抛出错误。我什至检查了文件为空但似乎不起作用的情况。有谁知道如何检查表单中的文件名字段为空并且不会在网络应用程序中引发错误的情况?

我正在为控制器使用以下代码。如您所见,我接受一个多部分文件参数,即表单中上传的文件。

@RequestMapping(value="/attachment", method=RequestMethod.POST)
public String sendAttachment(@RequestHeader("Authorization") String authHeader,                @RequestParam("to") String to,@RequestParam("cc") String cc,@RequestParam("bcc") String     bcc,@RequestParam("subject") String subject,@RequestParam("body") String body,   @RequestParam("file") MultipartFile  file,@RequestParam("filename") String  filename) {

. . .

//here i check if the file is empty...if not empty, then only attach it in the      message. 

if(!file.isEmpty())
{
    msg.getAttachments().addFileAttachment(filename,file.getBytes());
}

. . .

我用来调用这个 Web 服务的 php 文件如下:

以下是使用空文件参数发送到 Web 服务的表单发布参数

$params = array(
            'to' => null,
            'cc' => null,

            'bcc' => "sanjaygir@gmail.com",
            'subject' => "hola sanjayg",
            'body' => "just testing message service",           

            'filename'=> "",
            'file'=>""
        );

我也尝试过使用null:

$params = array(
            'to' => null,
            'cc' => null,

            'bcc' => "sanjaygir@gmail.com",
            'subject' => "hola sanjayg",
            'body' => "just testing message service",           

            'filename'=> null,
            'file'=>null
        );

它仍然在服务器中引发 500 错误。

4

1 回答 1

1

尝试更改@RequestParam("file") MultipartFile file@RequestParam(value = "file", required=false) MultipartFile file

于 2013-07-23T23:39:00.847 回答