For more information on the Download features, see Download Guide.
Since: 2.4
Interface | Method |
---|---|
DownloadManagerObject | |
DownloadRequest | |
DownloadManager |
void cancel (long downloadId)
void pause (long downloadId)
void resume (long downloadId)
DownloadState getState (long downloadId)
DownloadRequest getDownloadRequest (long downloadId)
DOMString getMIMEType (long downloadId)
void setListener (long downloadId, DownloadCallback downloadCallback)
|
DownloadCallback |
void onprogress (long downloadId, unsigned long long receivedSize, unsigned long long totalSize)
void onpaused (long downloadId)
void oncanceled (long downloadId)
void oncompleted (long downloadId, DOMString path)
void onfailed (long downloadId, WebAPIError error)
|
typedef object DownloadHTTPHeaderFields;
Since: 2.4
The key / value type of each HTTP header field should be DOMString.
enum DownloadState { "QUEUED", "DOWNLOADING", "PAUSED", "CANCELED", "COMPLETED", "FAILED" };
Since: 2.4
The following values are supported:
enum DownloadNetworkType { "CELLULAR", "WIFI", "ALL" };
Since: 2.4
The following values are supported:
[NoInterfaceObject] interface DownloadManagerObject {
readonly attribute DownloadManager download;
};
Tizen implements DownloadManagerObject;
Since: 2.4
[Constructor(DOMString url, optional DOMString? destination, optional DOMString? fileName, optional DownloadNetworkType? networkType, optional DownloadHTTPHeaderFields? httpHeader)]
interface DownloadRequest {
attribute DOMString url;
attribute DOMString? destination;
attribute DOMString? fileName;
attribute DownloadNetworkType? networkType;
attribute DownloadHTTPHeaderFields? httpHeader;
};
Since: 2.4
DownloadRequest(DOMString url, optional DOMString? destination, optional DOMString? fileName, optional DownloadNetworkType? networkType, optional DownloadHTTPHeaderFields? httpHeader);
Since: 2.4
If the destination is not specified or is an empty string, the file will be downloaded to the default storage: "Downloads". For more information, see Filesystem API.
The default value is an empty string.
Since: 2.4
If the file name is not given or is an empty string, the original file name from the URL is used.
The default value is an empty string.
Since: 2.4
If the network type is not given, all network types are allowed.
The default value is ALL.
Since: 2.4
For more information about HTTP header fields, see RFC-2616
The default value is an empty object.
Since: 2.4
Code example:
var req = new tizen.DownloadRequest("http://download.tizen.org/tools/README.txt");
req.httpHeader["Pragma"] = "no-cache";
req.httpHeader["Cookie"] = "version=1; Skin=new";
req.httpHeader["X-Agent"] = "Tizen Sample App";
[NoInterfaceObject] interface DownloadManager {
long start(DownloadRequest downloadRequest,
optional DownloadCallback? downloadCallback) raises(WebAPIException);
void cancel(long downloadId) raises(WebAPIException);
void pause(long downloadId) raises(WebAPIException);
void resume(long downloadId) raises(WebAPIException);
DownloadState getState(long downloadId) raises(WebAPIException);
DownloadRequest getDownloadRequest(long downloadId) raises(WebAPIException);
DOMString getMIMEType(long downloadId) raises(WebAPIException);
void setListener(long downloadId, DownloadCallback downloadCallback) raises(WebAPIException);
};
Since: 2.4
start
long start(DownloadRequest downloadRequest, optional DownloadCallback? downloadCallback);
Since: 2.4
Privilege level: public
Privilege: http://tizen.org/privilege/download
Remark : To check if CELLULAR type is supported, use tizen.systeminfo.getCapability("http://tizen.org/feature/network.telephony")
Remark : To check if WIFI type is supported, use tizen.systeminfo.getCapability("http://tizen.org/feature/network.wifi")
Parameters:
Return value:
long An identifier for each download operation. If the network is not available for downloading, the return value is -1 since Tizen 2.4.Exceptions:
with error type TypeMismatchError, if the input parameter is not compatible with the expected type for that parameter.
with error type NotSupportedError, if the networkType of the given DownloadRequest is not supported on a device.
with error type InvalidValuesError, if any of the input parameters contain an invalid value.
with error type SecurityError, if the application does not have the privilege to call this method.
with error type UnknownError, if any other error occurs.
Code example:
// Check if Download API is supported not on a device.
var download_api_capability = tizen.systeminfo.getCapability("http://tizen.org/feature/download");
if (download_api_capability === false) {
console.log("Download API is not supported on this device.");
return;
}
var listener = {
onprogress: function(id, receivedSize, totalSize) {
console.log('Received with id: ' + id + ', ' + receivedSize + '/' + totalSize);
},
onpaused: function(id) {
console.log('Paused with id: ' + id);
},
oncanceled: function(id) {
console.log('Canceled with id: ' + id);
},
oncompleted: function(id, path) {
console.log('Completed with id: ' + id + ', path: ' + path);
},
onfailed: function(id, error) {
console.log('Failed with id: ' + id + ', error name: ' + error.name);
}
};
// Starts downloading the file from the Web with the corresponding callbacks.
var downloadRequest = new tizen.DownloadRequest("http://download.tizen.org/tools/README.txt", "documents");
var downloadId = tizen.download.start(downloadRequest, listener);
// If you want to download a large file through Wi-Fi,
var wifi_capability = tizen.systeminfo.getCapability("http://tizen.org/feature/network.wifi");
var wifiDownloadRequest = new tizen.DownloadRequest("http://download.tizen.org/tools/archive/14.02.2/Ubuntu_12.04/qemu_1.6.0rc3.orig.tar.gz", "downloads", null, "WIFI");
if (wifi_capability === true) {
var downlodId_wifi = tizen.download.start(wifiDownloadRequest, listener);
} else {
// If you call tizen.download.start(), NotSupportedError will be thrown.
console.log("This device doesn't support Download API through Wi-Fi.");
}
cancel
void cancel(long downloadId);
Since: 2.4
Parameters:
Exceptions:
with error type NotFoundError, if the identifier does not match any download operation in progress.
with error type TypeMismatchError, if the input parameter is not compatible with the expected type for that parameter.
with error type InvalidValuesError, if any of the input parameters contain an invalid value.
with error type UnknownError, if any other error occurs.
Code example:
// Cancels the ongoing download operation with the specified ID.
tizen.download.cancel(downloadId);
pause
void pause(long downloadId);
Since: 2.4
Parameters:
Exceptions:
with error type NotFoundError, if the identifier does not match any download operation in progress.
with error type TypeMismatchError, if the input parameter is not compatible with the expected type for that parameter.
with error type InvalidValuesError, if any of the input parameters contain an invalid value.
with error type UnknownError, if any other error occurs.
Code example:
// Pauses the ongoing download operation with the specified ID.
tizen.download.pause(downloadId);
resume
void resume(long downloadId);
Since: 2.4
Parameters:
Exceptions:
with error type NotFoundError, if the identifier does not match any download operation in progress.
with error type TypeMismatchError, if the input parameter is not compatible with the expected type for that parameter.
with error type InvalidValuesError, if any of the input parameters contain an invalid value.
with error type UnknownError, if any other error occurs.
Code example:
// Resumes the paused download operation with the specified ID.
tizen.download.resume(downloadId);
getState
DownloadState getState(long downloadId);
Since: 2.4
Parameters:
Return value:
DownloadState The current download state of the specified ID.Exceptions:
with error type NotFoundError, if the identifier does not match any download operation in progress.
with error type TypeMismatchError, if the input parameter is not compatible with the expected type for that parameter.
with error type InvalidValuesError, if any of the input parameters contain an invalid value.
with error type UnknownError, if any other error occurs.
Code example:
// Gets the state of the download operation with the given ID.
var state = tizen.download.getState(downloadId);
getDownloadRequest
DownloadRequest getDownloadRequest(long downloadId);
Since: 2.4
Parameters:
Return value:
DownloadRequest The download request information of the given ID.Exceptions:
with error type NotFoundError, if the identifier does not match any download operation in progress.
with error type TypeMismatchError, if the input parameter is not compatible with the expected type for that parameter.
with error type InvalidValuesError, if any of the input parameters contain an invalid value.
with error type UnknownError, in any other error case.
Code example:
// Gets the download request information with the given ID.
var downloadRequest = tizen.download.getDownloadRequest(downloadId);
getMIMEType
DOMString getMIMEType(long downloadId);
Since: 2.4
Remark : This function returns a valid MIME type when the download operation has been started and successfully retrieves the file header.
Parameters:
Return value:
DOMString The MIME type of the downloaded file.Exceptions:
with error type NotFoundError, if the identifier does not match any download operation in progress.
with error type TypeMismatchError, if the input parameter is not compatible with the expected type for that parameter.
with error type InvalidValuesError, if any of the input parameters contain an invalid value.
with error type UnknownError, in any other error case.
Code example:
// Get the MIME type of the download operation with the given ID.
var MIMEtype = tizen.download.getMIMEType(downloadId);
setListener
void setListener(long downloadId, DownloadCallback downloadCallback);
Since: 2.4
Parameters:
Exceptions:
with error type NotFoundError, if the identifier does not match any download operation in progress.
with error type TypeMismatchError, if the input parameter is not compatible with the expected type for that parameter.
with error type InvalidValuesError, if any of the input parameters contain an invalid value.
with error type UnknownError, in any other error case.
Code example:
var listener = {
onprogress: function(id, receivedSize, totalSize) {
console.log('Received with id: ' + id + ', ' + receivedSize + '/' + totalSize);
},
onpaused: function(id) {
console.log('Paused with id: ' + id);
},
oncanceled: function(id) {
console.log('Canceled with id: ' + id);
},
oncompleted: function(id, fileName) {
console.log('Completed with id: ' + id + ', file name: ' + fileName);
},
onfailed: function(id, error) {
console.log('Failed with id: ' + id + ', error name: ' + error.name);
}
};
// Start downloading the html file on the web with the corresponding callbacks.
var downloadRequest = new tizen.DownloadRequest("http://download.tizen.org/tools/README.txt", "documents");
downloadId = tizen.download.start(downloadRequest);
// Add the listener.
tizen.download.setListener(downloadId, listener);
[Callback, NoInterfaceObject] interface DownloadCallback {
void onprogress(long downloadId, unsigned long long receivedSize, unsigned long long totalSize);
void onpaused(long downloadId);
void oncanceled(long downloadId);
void oncompleted(long downloadId, DOMString path);
void onfailed(long downloadId, WebAPIError error);
};
Since: 2.4
onprogress
void onprogress(long downloadId, unsigned long long receivedSize, unsigned long long totalSize);
Since: 2.4
Parameters:
onpaused
void onpaused(long downloadId);
Since: 2.4
Parameters:
oncanceled
void oncanceled(long downloadId);
Since: 2.4
Parameters:
oncompleted
void oncompleted(long downloadId, DOMString path);
Since: 2.4
Parameters:
onfailed
void onfailed(long downloadId, WebAPIError error);
Since: 2.4
Parameters:
DownloadNetworkType 'WIFI' or 'ALL' can be available on a Wi-Fi enabled device. To guarantee that the download application runs on a device with the Wi-Fi feature, declare the following feature requirements in the config file:
DownloadNetworkType 'CELLULAR' or 'ALL' can be available on a cellular-enabled device. To guarantee that the download application runs on a device with the cellular feature, declare the following feature requirements in the config file:
DownloadNetworkType 'ALL' can be available on a ethernet-enabled device. To guarantee that the download application runs on a device with the ethernet network feature, declare the following feature requirements in the config file:
For more information, see Application Filtering.
module Download {
typedef object DownloadHTTPHeaderFields;
enum DownloadState { "QUEUED", "DOWNLOADING", "PAUSED", "CANCELED", "COMPLETED", "FAILED" };
enum DownloadNetworkType { "CELLULAR", "WIFI", "ALL" };
[NoInterfaceObject] interface DownloadManagerObject {
readonly attribute DownloadManager download;
};
Tizen implements DownloadManagerObject;
[Constructor(DOMString url, optional DOMString? destination, optional DOMString? fileName, optional DownloadNetworkType? networkType, optional DownloadHTTPHeaderFields? httpHeader)]
interface DownloadRequest {
attribute DOMString url;
attribute DOMString? destination;
attribute DOMString? fileName;
attribute DownloadNetworkType? networkType;
attribute DownloadHTTPHeaderFields? httpHeader;
};
[NoInterfaceObject] interface DownloadManager {
long start(DownloadRequest downloadRequest,
optional DownloadCallback? downloadCallback) raises(WebAPIException);
void cancel(long downloadId) raises(WebAPIException);
void pause(long downloadId) raises(WebAPIException);
void resume(long downloadId) raises(WebAPIException);
DownloadState getState(long downloadId) raises(WebAPIException);
DownloadRequest getDownloadRequest(long downloadId) raises(WebAPIException);
DOMString getMIMEType(long downloadId) raises(WebAPIException);
void setListener(long downloadId, DownloadCallback downloadCallback) raises(WebAPIException);
};
[Callback, NoInterfaceObject] interface DownloadCallback {
void onprogress(long downloadId, unsigned long long receivedSize, unsigned long long totalSize);
void onpaused(long downloadId);
void oncanceled(long downloadId);
void oncompleted(long downloadId, DOMString path);
void onfailed(long downloadId, WebAPIError error);
};
};