yuxian_li
2019-10-05 18:35
采纳率: 75%
浏览 1.4k
已采纳

SpringMVC跨服务器上传文件,上传至文件服务器时报404错误

这是服务器端的代码

@RequestMapping("/fileupload")
    public String upload(MultipartFile upload) throws IOException {
        System.out.println("SpringMVC跨服务器方式的文件上传...");
        // 定义图片服务器的请求路径
        String path = "http://localhost:9090/secondly_war_exploded/uploads/";
        // 获取到上传文件的名称
        String filename = upload.getOriginalFilename();
        // 向图片服务器上传文件
        // 创建客户端对象
        Client client = Client.create();
        // 连接图片服务器
        WebResource webResource = client.resource(path+filename);  
        // 上传文件
        webResource.put(upload.getBytes());
        return "success";
    }

这是报错的信息:
图片说明

报错的核心信息是上传到图片服务器的时候404错误。

起初我以为是我的路径写的有问题或者服务器没开,然后我将路径直接粘贴到地址栏上,并没有任何问题:

图片说明

本人在网上找了许久,也不见符合的相关答案

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • blownewbee 2019-10-05 19:07

    这应该是跨域上传文件的问题,或者图片尺寸太大,参考

    https://blog.csdn.net/q669239799/article/details/70163573
    https://www.cnblogs.com/qingmuchuanqi48/p/10560012.html

    点赞 评论
  • Json-Huang 2019-10-05 23:13

    1、uploads/这个目录和图片文件看下是否存在?

    2、tomcat默认被禁止上传,web.xml加上下面的配置试试,

    <servlet>
    
            <servlet-name>default</servlet-name>     
            <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>   
            <init-param>           
                <param-name>debug</param-name>       
                <param-value>0</param-value>   
            </init-param>
            <init-param>       
                <param-name>readonly</param-name>         
                <param-value>false</param-value>     
            </init-param>   
            <init-param>         
                <param-name>listings</param-name>       
                <param-value>false</param-value>   
            </init-param> 
            <load-on-startup>1</load-on-startup>
        </servlet>
    
    点赞 评论
  • 毕小宝 2019-10-07 07:03

    这个 500 异常说明上传操作的响应的页面是一个 404 的请求。应该检查一下这个上传操作后台的代码,处理完成上传文件后,响应给客户端的是什么。
    如果是返回一个试图,需要看看该实体对应的页面是否存在。

    点赞 评论
  • Dream 2019-11-18 17:34
    点赞 评论

相关推荐 更多相似问题