Skip to content

Commit aa357e4

Browse files
committed
Fix RegEx used to parse attachment filename.
Previous code comment says "Code taken from http://stackoverflow.com/q/16086162", but copied incorrectly. Filename may be enclosed in single quotes, double quotes or no quotes at all. Additionally added decodeURIComponent() to get a proper filename.
1 parent f181898 commit aa357e4

3 files changed

Lines changed: 7 additions & 7 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ Maven Central
1717
<dependency>
1818
<groupId>ch.racic.selenium.helper</groupId>
1919
<artifactId>SeleniumDownloadHelper</artifactId>
20-
<version>0.3.0</version>
20+
<version>0.3.2</version>
2121
</dependency>
2222
```

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
<groupId>ch.racic.selenium.helper</groupId>
1212
<artifactId>SeleniumDownloadHelper</artifactId>
13-
<version>0.3.1-SNAPSHOT</version>
13+
<version>0.3.2-SNAPSHOT</version>
1414
<packaging>jar</packaging>
1515

1616
<name>Selenium Download Helper library</name>
@@ -211,7 +211,7 @@
211211
<plugin>
212212
<groupId>org.apache.maven.plugins</groupId>
213213
<artifactId>maven-release-plugin</artifactId>
214-
<version>2.5</version>
214+
<version>3.0.0-M1</version>
215215
<configuration>
216216
<autoVersionSubmodules>true</autoVersionSubmodules>
217217
<useReleaseProfile>false</useReleaseProfile>

src/main/resources/ch/racic/selenium/helper/download/js/seleniumDownloadHelper.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ var seleniumDownloadHelper = {
3030
var disp = xhr.getResponseHeader('Content-Disposition');
3131
var fileName = "";
3232
if (disp && disp.search('filename') != -1) {
33-
var filenamePattern = "filename=\"(.*)\".*";
34-
var re = new RegExp(filenamePattern);
35-
if (re.test(disp)) {
36-
fileName = re.exec(disp)[1];
33+
var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
34+
if (filenameRegex.test(disp)) {
35+
fileName = filenameRegex.exec(disp)[1].replace(/['"]/g, '');
36+
fileName = decodeURIComponent(fileName);
3737
}
3838
}
3939

0 commit comments

Comments
 (0)