Java 使用SpringMVC和AngularJS上传文件
我正在尝试将csv文件从JSp上传到控制器。我可以成功上传文件,但我得到了响应“语法错误:使用angular js分析JSON第1行第1列的意外字符”。我需要从csv文件中读取数据,并将其显示在jsp页面中。当我试图上传时,我的回复有问题 JSP代码:Java 使用SpringMVC和AngularJS上传文件,java,angularjs,spring-mvc,Java,Angularjs,Spring Mvc,我正在尝试将csv文件从JSp上传到控制器。我可以成功上传文件,但我得到了响应“语法错误:使用angular js分析JSON第1行第1列的意外字符”。我需要从csv文件中读取数据,并将其显示在jsp页面中。当我试图上传时,我的回复有问题 JSP代码: <form action="robiiBiaascsvUpload/fileuploadinfo" id="FileUploadForm" method="POST" enctype="multipart/form-data" data-
<form action="robiiBiaascsvUpload/fileuploadinfo" id="FileUploadForm" method="POST" enctype="multipart/form-data" data-ng-controller="fileUploadController">
<table width="100%" border="0" cellspacing="5" cellpadding="0" id="uploadFile">
<tr>
<td align="left" valign="middle">Upload File:</td><br/>
<td align="left" valign="middle">
<input name="file2" id="file2" type="file" file-model="file2"/><br/>
</td>
<td><input type="button" value="Submit" ng-click="uploadFormData();"></td>
</tr>
<tr>
<td align="left" valign="middle">
</td>
</tr>
</table>
</form>
Spring mvc控制器:
@RequestMapping(value = "/uploadFile")
public @ResponseBody String upLoadFile(HttpServletRequest request,
@RequestParam(value = "file") MultipartFile file) {
StringBuilder result=null;
ModelMap map=new ModelMap();
try
{
System.out.println(file.getOriginalFilename());
System.out.println(file.getBytes());
InputStream in=file.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
result = new StringBuilder();
String line;
while((line = reader.readLine()) != null) {
result.append(line);
result.append('\n');
}
map.addAttribute("status", "success");
map.addAttribute("list", result.toString());
System.out.println(result.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "Success";
}
请告诉我哪里出了问题。请解释一下您在哪里看到了回复。它是否来自注释掉的
警报(响应)
实际上,它进入了错误块,transformRequest块中的响应我正在获取ObjectFormData然后我怀疑客户端看到的是没有任何JSON格式的“成功”字符串。添加@products({MediaType.APPLICATION_JSON})
作为mthodI上的注释怎么样?我不使用springrestapi。我只使用纯Spring MVCI获得输出。感谢JR。问题在控制器类中,我需要通过JSONOBject发送响应
@RequestMapping(value = "/uploadFile")
public @ResponseBody String upLoadFile(HttpServletRequest request,
@RequestParam(value = "file") MultipartFile file) {
StringBuilder result=null;
ModelMap map=new ModelMap();
try
{
System.out.println(file.getOriginalFilename());
System.out.println(file.getBytes());
InputStream in=file.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
result = new StringBuilder();
String line;
while((line = reader.readLine()) != null) {
result.append(line);
result.append('\n');
}
map.addAttribute("status", "success");
map.addAttribute("list", result.toString());
System.out.println(result.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "Success";
}