大文件下载
This commit is contained in:
@@ -710,11 +710,11 @@ public class FileUtils extends org.apache.commons.io.FileUtils {
|
||||
end = Long.parseLong(values[1]);
|
||||
}
|
||||
}
|
||||
int requestSize = 0;
|
||||
long requestSize = 0;
|
||||
if (end != 0 && end > start) {
|
||||
requestSize = Long.valueOf(end - start + 1).intValue();
|
||||
} else {
|
||||
requestSize = Integer.MAX_VALUE;
|
||||
requestSize = Long.MAX_VALUE;
|
||||
}
|
||||
response.setContentType(FileUtils.getContentType(file.getName()));
|
||||
boolean isPreview = "preview".equalsIgnoreCase(request.getParameter("source"));
|
||||
@@ -748,12 +748,12 @@ public class FileUtils extends org.apache.commons.io.FileUtils {
|
||||
}
|
||||
}
|
||||
randomFile.seek(start);
|
||||
int needSize = requestSize;
|
||||
long needSize = requestSize;
|
||||
while (needSize > 0) {
|
||||
byte[] buffer = new byte[1024];
|
||||
int len = randomFile.read(buffer);
|
||||
if (needSize < buffer.length) {
|
||||
out.write(buffer, 0, needSize);
|
||||
out.write(buffer, 0, (int)needSize);
|
||||
} else {
|
||||
out.write(buffer, 0, len);
|
||||
if (len < buffer.length) {
|
||||
|
||||
Reference in New Issue
Block a user