File tree Expand file tree Collapse file tree 1 file changed +19
-7
lines changed Expand file tree Collapse file tree 1 file changed +19
-7
lines changed Original file line number Diff line number Diff line change @@ -8,11 +8,23 @@ export default (filename, blob) => {
8
8
return ;
9
9
}
10
10
11
- const url = window . URL . createObjectURL ( blob ) ;
12
- downloadLink . href = url ;
13
- downloadLink . download = filename ;
14
- downloadLink . type = blob . type ;
15
- downloadLink . click ( ) ;
16
- window . URL . revokeObjectURL ( url ) ;
17
- document . body . removeChild ( downloadLink ) ;
11
+ if ( 'download' in HTMLAnchorElement . prototype ) {
12
+ const url = window . URL . createObjectURL ( blob ) ;
13
+ downloadLink . href = url ;
14
+ downloadLink . download = filename ;
15
+ downloadLink . type = blob . type ;
16
+ downloadLink . click ( ) ;
17
+ document . body . removeChild ( downloadLink ) ;
18
+ window . URL . revokeObjectURL ( url ) ;
19
+ } else {
20
+ // iOS Safari, open a new page and set href to data-uri
21
+ let popup = window . open ( '' , '_blank' ) ;
22
+ const reader = new FileReader ( ) ;
23
+ reader . onloadend = function ( ) {
24
+ popup . location . href = reader . result ;
25
+ popup = null ;
26
+ } ;
27
+ reader . readAsDataURL ( blob ) ;
28
+ }
29
+
18
30
} ;
You can’t perform that action at this time.
0 commit comments