Merge pull request #1876 from xhh/file-downloading-fixes

File downloading improvements for Ruby and Java
This commit is contained in:
wing328
2016-01-15 11:25:25 +08:00
7 changed files with 112 additions and 30 deletions

View File

@@ -581,6 +581,17 @@ public class ApiClient {
return params;
}
/**
* Sanitize filename by removing path.
* e.g. ../../sun.gif becomes sun.gif
*
* @param filename The filename to be sanitized
* @return The sanitized filename
*/
public String sanitizeFilename(String filename) {
return filename.replaceAll(".*[/\\\\]", "");
}
/**
* Check if the given MIME is a JSON MIME.
* JSON MIME examples:
@@ -738,8 +749,9 @@ public class ApiClient {
// Get filename from the Content-Disposition header.
Pattern pattern = Pattern.compile("filename=['\"]?([^'\"\\s]+)['\"]?");
Matcher matcher = pattern.matcher(contentDisposition);
if (matcher.find())
filename = matcher.group(1);
if (matcher.find()) {
filename = sanitizeFilename(matcher.group(1));
}
}
String prefix = null;