HttpURLConnection 2m一下的文件无法上传
server端接受文件的代码
out = new FileOutputStream(f, true); content = req.getInputStream(); int read = 0; final byte[] bytes = new byte[CommonUtils.BUFFER_LENGTH]; while ((read = content.read(bytes)) != -1) out.write(bytes, 0, read); start = f.length();
客户端代码
HttpURLConnection connection = getConnect(setUrl(fileUploadMap, uploadUrl)); connection.setRequestMethod("POST"); connection.setDoOutput(true); // pos上回读取传送的位置 blob每次读取多少字节 String range = "bytes " + start + "-" + (start + 153600) + "/" + file.length(); connection.setRequestProperty("content-range", range); // 获取输出流对象,预备上传文件 OutputStream os = connection.getOutputStream(); FileInputStream fis = new FileInputStream(file); int count = 0; if(file.length() > 10240){ while ((count = fis.read(bytes)) != -1) os.write(bytes, 0, count); }else{ while((count = fis.read()) != -1) os.write(bytes, 0, count); } fis.close(); os.flush();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
搜索看到有说过滤request之后得不到inputstream的,就想试试把request.getinputstream放到最前面,真就就可以了,不清楚为什么,还要再看下servletRequest