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上传,也支持断点。但只要你访问用户磁盘,又要支持断点,那必须要签名的。不然浏览器不知道你的身份。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)