Bài viết này, chúng tôi muốn giới thiệu đến bạn đọc cách để tải về (download) một tập tin trên internet thông qua giao thức HTTP.

Bằng việc sử dụng phương thức GET (request – response), ứng dụng của bạn có thể tải về nội dung của một tập tin sẵn có trên internet.

ví dụ:

Chúng tôi có một tập tin trên internet với đường dẫn là “base_url”. Bây giờ chúng tôi có nhu cầu tải tập tin đó về điện thoại di động và lưu nó vào nơi có đường dẫn là “downloadPath”.

Chúng tôi xây dựng hàm cơ bản như sau:

result
BaseContent::RequestDownload(String downloadPath, String base_url)
{
	RequestId requestId;
	Uri contentUri;
	contentUri.SetUri(base_url);

	result r = contentTransfer.Download(contentUri, 0, downloadPath, true, requestId);
}

Khi download đã hoàn tất thì sự kiện OnContentDownloadCompleted sẽ được phát sinh. Khi đó, ứng dụng của đã có đủ dữ liệu cần thiết và tiếp tục hoạt động.

void
BaseContent::OnContentDownloadCompleted(RequestId requestId, ContentId contentId, result transferResult, const String& errorCode, const String& errorMessage)
{
        // TODO: add your code here
	// ProcessingData();
}

Bạn phải chọn đường dẫn cụ thể để lưu trữ tập tin download chẳn hạn như:

/Media/Images/
/Media/Sounds/
/Media/Videos/
/Media/Themes/
/Media/Others/
/Storagecard/Media/Images/
/Storagecard/Media/Sounds/
/Storagecard/Media/Videos/
/Storagecard/Media/Themes/
/Storagecard/Media/Others/

Tùy thuộc vào thư mục mà sẽ có các permissions khác nhau. Có thư mục chỉ đọc (read-only) hay thư mục cho phép đọc – ghi (read – write).

Chú ý:

- Để sử dụng được lớp ContentTransfer thì bạn phải khai báo thư viện “FContent” với trình biên dịch.

- Khai báo Privilege trong tập tin manifest.xml

<Privilege>
      <Name>CONTENT_TRANSFER</Name>
</Privilege>

Chúc bạn thành công!