如何用jsp将文件上传至http文件服务器
1个回答
展开全部
纯jsp? 用Jersey插件可以实现,ftp也可以,我贴出jersey的代码,比较简单。导入jar包即可。
我这里是先从一台服务器上把MP3文件下载下来,然后写成二进制,再利用jersey发送的。发送的代码就只有两三行吧
/**
* 上传歌曲到服务器
* @param url 歌曲播放地址
* @param fileName 歌曲名称
*
* @author 孙文祥
*/
public void upLoadToService(String url, String fileName) {
try {
URL ss = new URL(url);
HttpURLConnection urlc = (HttpURLConnection) ss.openConnection();
urlc.setDoInput(true);// 设置是否要从 URL 连接读取数据,默认为true
urlc.connect();
InputStream bufin = urlc.getInputStream();
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
int len = bufin.available();
byte[] b = new byte[len];
int rc = 0;
while ((rc = bufin.read(b, 0, len)) > 0) {
swapStream.write(b, 0, rc);
}
byte[] in2b = swapStream.toByteArray();
// 实例化Jersey
Client client = new Client();
// 想要发送到的服务器地址,记住,必须设置tomcat服务器的权限,不然无法上传到tomcat
String path = Constant.SERVICE_URL + fileName;
// 设置请求路径
WebResource resource = client.resource(path);
// 发送开始 PUT
resource.put(String.class, in2b);
} catch (Exception e) {
e.printStackTrace();
}
}
我这里是先从一台服务器上把MP3文件下载下来,然后写成二进制,再利用jersey发送的。发送的代码就只有两三行吧
/**
* 上传歌曲到服务器
* @param url 歌曲播放地址
* @param fileName 歌曲名称
*
* @author 孙文祥
*/
public void upLoadToService(String url, String fileName) {
try {
URL ss = new URL(url);
HttpURLConnection urlc = (HttpURLConnection) ss.openConnection();
urlc.setDoInput(true);// 设置是否要从 URL 连接读取数据,默认为true
urlc.connect();
InputStream bufin = urlc.getInputStream();
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
int len = bufin.available();
byte[] b = new byte[len];
int rc = 0;
while ((rc = bufin.read(b, 0, len)) > 0) {
swapStream.write(b, 0, rc);
}
byte[] in2b = swapStream.toByteArray();
// 实例化Jersey
Client client = new Client();
// 想要发送到的服务器地址,记住,必须设置tomcat服务器的权限,不然无法上传到tomcat
String path = Constant.SERVICE_URL + fileName;
// 设置请求路径
WebResource resource = client.resource(path);
// 发送开始 PUT
resource.put(String.class, in2b);
} catch (Exception e) {
e.printStackTrace();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询