java后台文件上传到资源服务器上

java后台文件上传到资源服务器上,第1张

package com.letv.dir.cloud.utilimport com.letv.dir.cloud.controller.DirectorWatermarkControllerimport org.slf4j.Loggerimport org.slf4j.LoggerFactoryimport java.io.*import java.net.HttpURLConnectionimport java.net.MalformedURLExceptionimport java.net.URL/** * Created by xijunge on 2016/11/24 0024. */public class HttpRequesterFile {private static final Logger log = LoggerFactory.getLogger(HttpRequesterFile.class) private static final String TAG = "uploadFile" private static final int TIME_OUT = 100 * 1000// 超时时间private static final String CHARSET = "utf-8"// 设置编码/** *上传文件到服务器 * * @param file *需要上传的文件 * @param RequestURL *文件服务器的rul * @return 返回响应的内容 * */public static String uploadFile(File file, String RequestURL) throws IOException {

String result = null

String BOUNDARY = "letv"// 边界标识 随机生成String PREFIX = "--", LINE_END = "\r\n"

String CONTENT_TYPE = "multipart/form-data"// 内容类型try {

URL url = new URL(RequestURL)

HttpURLConnection conn = (HttpURLConnection) url.openConnection()

conn.setReadTimeout(TIME_OUT)

conn.setConnectTimeout(TIME_OUT)

conn.setDoInput(true)// 允许输入流conn.setDoOutput(true)// 允许输出流conn.setUseCaches(false)// 不允许使用缓存conn.setRequestMethod("POST")// 请求方式conn.setRequestProperty("Charset", CHARSET)// 设置编码conn.setRequestProperty("connection", "keep-alive")

conn.setRequestProperty("Content-Type", CONTENT_TYPE + "boundary="+ BOUNDARY)

解决这种大文件上传不太可能用web上传的方式,只有自己开发插件或是当门客户端上传,或者用现有的ftp等。

1)开发一个web插件。用于上传文件。

2)开发一个FTP工具,不用web上传。

3)用现有的FTP工具。

下面是几款不错的插件,你可以试试:

1)Jquery的uploadify插件。具体使用。你可以看帮助文档。

2)网上有一个Web大文件断点续传控件:http://www.cnblogs.com/xproer/archive/2012/02/17/2355440.html

此控件支持100G文件的断点续传 *** 作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。

JavaUploader免费开源的,是用applet实现的,需要签名才能在浏览器上用,支持断点。缺点是收费。

3)applet也是一种方式,MUPLOAD组件就是以APPLET方式处理的。

如果你不需要访问用户的硬盘文件,那你可以使用FTP上传,也支持断点。但只要你访问用户磁盘,又要支持断点,那必须要签名的。不然浏览器不知道你的身份。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12071401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存