URLUtilCompat
public final class URLUtilCompat
Compatibility versions of methods in android.webkit.URLUtil.
| See also | |
|---|---|
URLUtil |
Summary
Public methods |
|
|---|---|
static @Nullable String |
getFilenameFromContentDisposition(@NonNull String contentDisposition)Extract filename from a |
static @NonNull String |
Guesses canonical filename that a download would have, using the URL and contentDisposition. |
Public methods
getFilenameFromContentDisposition
public static @Nullable String getFilenameFromContentDisposition(@NonNull String contentDisposition)
Extract filename from a Content-Disposition header value.
This method implements the parsing defined in RFC 6266, supporting both the filename and filename* disposition parameters. If the passed header value has the "inline" disposition type, this method will return null to indicate that a download was not intended.
If both filename* and filename is present, the former will be returned, as per the RFC. Invalid encoded values will be ignored.
guessFileName
public static @NonNull String guessFileName(
@NonNull String url,
@Nullable String contentDisposition,
@Nullable String mimeType
)
Guesses canonical filename that a download would have, using the URL and contentDisposition.
This method differs from guessFileName in the following ways:
- This method uses an updated parsing of
contentDisposition, making this available on older Android versions. SeegetFilenameFromContentDisposition. - If the
contentDispositionparameter is valid and contains a filename, that filename will be returned. TheurlandmimeTypeparameters will not be used in this case. - Otherwise the filename will be deduced from the path of the
urland themimeType. If amimeTypeis provided and the canonical extension for that filetype does not match the filename derived from theurl, then the canonical extension will be appended. - If the
mimeTypeisnull,"application/octet-stream", or not known by the system, no extension will be appended to the filename.