Java Spring引导,通过POST从InputStream上载文件期间RestTemplate异常

Java Spring引导,通过POST从InputStream上载文件期间RestTemplate异常,java,spring,post,resttemplate,Java,Spring,Post,Resttemplate,我正在用我的好友应用程序写作,该应用程序收集求职信息,并可以手动申请 例如,我从这个页面获取CSRF令牌,因为我需要CSRF来上传文件 但当我试图执行restTemplate.exchange()时,我得到了一个错误: “原因:java.lang.ClassCastException:org.springframework.core.io.ByteArrayResource无法转换为java.lang.String “ 这是我的班级: @数据 @服务 类StackOverflowComAccep

我正在用我的好友应用程序写作,该应用程序收集求职信息,并可以手动申请

例如,我从这个页面获取CSRF令牌,因为我需要CSRF来上传文件

但当我试图执行restTemplate.exchange()时,我得到了一个错误: “原因:java.lang.ClassCastException:org.springframework.core.io.ByteArrayResource无法转换为java.lang.String “

这是我的班级:

@数据
@服务
类StackOverflowComAcceptor实现JobOfferService{
私有最终静态字符串BASE_URL=”http://stackoverflow.com";
专用最终连接服务2连接服务2;
私人最终StackOverflowComFactory StackOverflowComFactory;
私有最终RestTemplate RestTemplate;
@自动连线
私人CVP提供商;
@凌驾
@鬼鬼祟祟
公开作废接受(职务提供职务提供){
//List templateDataEntries=stackOverflowComFactory.create();
ConnectionRequest ConnectionRequest=ConnectionRequest
.builder()
//url在joboffer中
.url(“http://stackoverflow.com/jobs/apply/110247")
.method(Connection.method.GET)
.data(新的ArrayList())
.build();
ConnectionResponse submit1=ConnectionService 2.submit(connectionRequest);
Document Document=submit1.getDocument();
字符串csrf=提取csrf(文件);
字符串cvurl=”http://stackoverflow.com/jobs/apply/upload-resume";
//字符串cvurl=”http://stackoverflow.com/jobs/apply/upload-resume?jobId=110247&fkey=“+csrf;
InputStream InputStream=cvProvider.asInputStream();
byte[]bytes=IOUtils.toByteArray(inputStream);
Map uriVariables=newhashmap();
uriVariables.put(“fkey”,csrf);
uriVariables.put(“jobId”、“110247”);
HttpHeaders partHeaders=新的HttpHeaders();
partHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);
ByteArrayResource ByteArrayResource=新的ByteArrayResource(字节,“test.pdf”);
多值映射数据=新的LinkedMultiValueMap();
数据。添加(“qqfile”,byteArrayResource);
HttpEntity请求实体=
新的HttpEntity(数据、部件标题);
ByteArrayHttpMessageConverter ByteArrayHttpMessageConverter=新建ByteArrayHttpMessageConverter();
//byteArrayHttpMessageConverter.setSupportedMediaTypes(Arrays.asList)(新MediaType[]{MediaType
//.APPLICATION_OCTET_STREAM});
FormHttpMessageConverter FormHttpMessageConverter=新FormHttpMessageConverter();
formHttpMessageConverter.setSupportedMediaTypes(Arrays.asList(
新媒体类型[]{MediaType.APPLICATION_OCTET_STREAM});
//restemplate.getMessageConverters().add(byteArrayHttpMessageConverter);
restemplate.getMessageConverters().add(formHttpMessageConverter);
ResponseEntity model=restemplate.exchange(cvurl、HttpMethod.POST、requestEntity、Object.class、,
尿毒症变量);
System.out.println(模型);
}
私有字符串提取CSRF(文档){
字符串s=document.getElementsByTag(“脚本”).get(0.toString();
Pattern p=Pattern.compile(“Careers.XSRF\u KEY=\\\\”([a-z0-9]{32})\\\\”);//注册表项的值
匹配器m=匹配器p;
字符串csrf=null;
while(m.find())
{
csrf=m.group(1);//仅限值
}
系统输出打印LN(csrf);
返回csrf;
}
}
这是我的stacktrace:

org.springframework.beans.factory.BeanCreationException:创建文件[D:\WWW\Epomis\Epomis\build\classes\main\net\elenx\Epomis\service\com\stackoverflow\Test.class]中定义的名为“testStacka”的bean时出错:调用init方法失败;嵌套异常为java.lang.ClassCastException:org.springframework.core.io.ByteArrayResource无法转换为java.lang.String
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583)~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
在org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
在org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:751)~[spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]
在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861)~[spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]
在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)~[spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]
在org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)~[spring-boot-1.4.1.BUILD-SNAPSHOT.jar:1.4.1.BUILD-SNAPSHOT