示例#1
0
void GetAclTask::RunImp()
{
	std::string uri_str = uri();
	std::string buckname = CString2string(_buckname);
	buckname = MultiByteToUtf8(buckname);
	std::string objname = CString2string(_objname);
	objname = MultiByteToUtf8(objname);
	set_uri(uri_str.append(URLEncode(buckname) + "/" + URLEncode(objname) + "?acl"));
}
示例#2
0
//////////////////////////////////////////////////////////////////////////
// delete object
void DeleteObjectTask::RunImp()
{
	set_http_method(HTTP_METHOD_DELETE);
	std::string uri_str = uri();
	std::string buckname = CString2string(_buckname);
	buckname = MultiByteToUtf8(buckname);
	std::string objname = CString2string(_objname);
	objname = MultiByteToUtf8(objname);
	set_uri(uri_str.append(URLEncode(buckname) + "/" + URLEncode(objname)));
}
示例#3
0
//////////////////////////////////////////////////////////////////////////
// create folder
void CreateFolderTask::RunImp()
{
	set_is_upload(true);
	set_http_method(HTTP_METHOD_PUT);
	std::string uri_str = uri();
	std::string buckname = CString2string(_buckname);
	buckname = MultiByteToUtf8(buckname);
	std::string foldername = CString2string(_foldername);
	foldername = MultiByteToUtf8(foldername);
	set_uri(uri_str.append(URLEncode(buckname) + "/" + URLEncode(foldername)));
}
示例#4
0
void AclTask::RunImp()
{
	set_http_method(HTTP_METHOD_PUT);
	_content_type = "text/json";
	add_header("Content-Type", _content_type);
	std::string uri_str = uri();
	std::string buckname = CString2string(_buckname);
	buckname = MultiByteToUtf8(buckname);
	std::string objname = CString2string(_objname);
	objname = MultiByteToUtf8(objname);
	set_uri(uri_str.append(URLEncode(buckname) + "/" + URLEncode(objname) + "?acl"));
}
示例#5
0
//////////////////////////////////////////////////////////////////////////
// list bucket
void ListBucketTask::RunImp()
{
	std::string prefix = CString2string(_prefix);
	prefix = MultiByteToUtf8(prefix);
	add_params("prefix", URLEncode(prefix));
	add_params("delimiter", URLEncode("/"));

	std::string uri_str = uri();
	std::string buckname = CString2string(_buckname);
	buckname = MultiByteToUtf8(buckname);
	set_uri(uri_str.append(URLEncode(buckname) + "/"));
}
示例#6
0
//////////////////////////////////////////////////////////////////////////
// download
void DownloadTask::RunImp()
{
	set_timeout(-1);
	set_is_download(true);

	std::string uri_str = uri();
	std::string buckname = CString2string(_buckname);
	buckname = MultiByteToUtf8(buckname);
	std::string folderfile = CString2string(_filename);
	folderfile = MultiByteToUtf8(folderfile);
	set_uri(uri_str.append(URLEncode(buckname) + "/" + URLEncode(folderfile)));
	set_file_name(CString2string(_localpath + _T(DOWNLOAD_TEMP)));
}
示例#7
0
//////////////////////////////////////////////////////////////////////////
// meta
void MetaTask::RunImp()
{
	std::string uri_str = uri();
	std::string buckname = CString2string(_buckname);
	buckname = MultiByteToUtf8(buckname);
	set_uri(uri_str.append(URLEncode(buckname) + "/?meta"));
}
示例#8
0
//////////////////////////////////////////////////////////////////////////
// upload
void UploadTask::RunImp()
{
	set_timeout(-1);
	set_is_upload(true);
	set_http_method(HTTP_METHOD_PUT);

	std::string uri_str = uri();
	std::string buckname = CString2string(_buckname);
	buckname = MultiByteToUtf8(buckname);
	std::string folderfile = CString2string(_filename);
	folderfile = MultiByteToUtf8(folderfile);
	set_uri(uri_str.append(URLEncode(buckname) + "/" + URLEncode(folderfile)));

	set_file_name(CString2string(_localpath));
	set_file_begin_pos(0);
	set_file_size(-1);
}
示例#9
0
//////////////////////////////////////////////////////////////////////////
// copy
void CopyTask::RunImp()
{
	set_is_upload(true);
	set_http_method(HTTP_METHOD_PUT);
	std::string buckname = CString2string(_buckname);
	buckname = MultiByteToUtf8(buckname);

	std::string source = "/";
	source.append(buckname + "/" + CString2string(_frompath));
	source = MultiByteToUtf8(source);
	add_header("x-amz-copy-source", URLEncode(source));
	add_header("x-amz-metadata-directive", "COPY");

	_amz_data.insert(StringMap::value_type("x-amz-copy-source", URLEncode(source)));
	_amz_data.insert(StringMap::value_type("x-amz-metadata-directive", "COPY"));

	std::string uri_str = uri();
	
	std::string objname = CString2string(_topath);
	objname = MultiByteToUtf8(objname);
	set_uri(uri_str.append(URLEncode(buckname) + "/" + URLEncode(objname)));
}
示例#10
0
		std::string MultiByteToUtf8( const std::string& sSrc )
		{
			return MultiByteToUtf8( sSrc.c_str(), (_U32)( sSrc.size() ) );
		}