近几天写一个Java端应用,把文件上传到.NET服务端,整理下遇到的问题:

Java上传文件通过HttpURLConnection来POST文件给服务端,常见的报错:

1. From (ServerResponse): java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:12526/FileApi.aspx

2. From ServletCom CLIENT REQUEST:java.net.ConnectException: Connection refused: connect;

第一个报错,500是服务端程序内部错误;第二个问题是服务端程序拒接连接。这时需要检查服务端程序接收文件处理保存post过来的文件代码块是否有异常。我项目是用.NET接收文件,疏忽了文件名获取“HttpPostedFile file = Request.Files[f]; file.SaveAs(Server.MapPath("~/Files/") + file.FileName);”这里的file.FileName需要改成System.IO.Path.GetFileName(file.FileName)只需要文件名,所以在保存文件过程异常,报错“
不支持给定路径的格式。”。

Java端的HttpURLConnection处理客户端文件post发送正确,服务端的.NET程序接收和保存文件无异常,上传就能顺利发送到服务端保存。