private static InputStream getInputStream(String filePath) {
int HttpResult; // 服务器返回的状态
InputStream inputStream = null;
try
{
//处理url空格
if(filePath.contains(" "))
filePath= filePath.replace(" ", "%20");
URL url = new URL(filePath);
URLConnection urlconn = url.openConnection(); // 连接并取得返回状态码
urlconn.connect();
HttpURLConnection httpconn =(HttpURLConnection)urlconn;
HttpResult = httpconn.getResponseCode();
if(HttpResult != HttpURLConnection.HTTP_OK) {
throw new BasicException(String.format(FailMsg.someThingFail, "无法连接到" + httpconn.getResponseMessage()));
} else {
inputStream = urlconn.getInputStream();
return inputStream;
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return inputStream;
}
我的报错原因在于未对文件名称的空格进行处理,文件空格在浏览器中会自动转换为%20,这里需要手动处理