游客naege2kpgcyi4_个人页

个人头像照片 游客naege2kpgcyi4
0
1
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2018-07-23

    OSS IOS SDK 指定范围下载

    详细解答可以参考官方帮助文档简单下载下载文件,可以指定下载为本地文件,或者下载为NSData: OSSGetObjectRequest * request = [OSSGetObjectRequest new];// 必填字段request.bucketName = @'';request.objectKey = @'';// 可选字段request.downloadProgress = ^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) { // 当前下载段长度、当前已经下载总长度、一共需要下载的总长度 NSLog(@'%lld, %lld, %lld', bytesWritten, totalBytesWritten, totalBytesExpectedToWrite);};// request.range = [[OSSRange alloc] initWithStart:0 withEnd:99]; // bytes=0-99,指定范围下载// request.downloadToFileURL = [NSURL fileURLWithPath:@'']; // 如果需要直接下载到文件,需要指明目标文件地址OSSTask * getTask = [client getObject:request];[getTask continueWithBlock:^id(OSSTask *task) { if (!task.error) { NSLog(@'download object success!'); OSSGetObjectResult * getResult = task.result; NSLog(@'download result: %@', getResult.dowloadedData); } else { NSLog(@'download object failed, error: %@' ,task.error); } return nil;}];// [getTask waitUntilFinished];// [request cancel]; 图片处理OSS图片处理,是OSS对外提供的海量、安全、低成本、高可靠的图片处理服务。用户将原始图片上传保存到OSS,通过简单的 RESTful 接口,在任何时间、任何地点、任何互联网设备上对图片进行处理。图片处理提供图片处理接口,图片上传请使用上传接口。基于OSS图片处理,用户可以搭建自己的图片处理服务。 OSS图片处理提供以下功能: 获取图片信息图片格式转换图片缩放、裁剪、旋转图片效果图片添加图片、文字、图文混合水印自定义图片处理样式,在控制台的 图片处理 -> 样式管理 中定义通过级联处理调用多个图片处理功能 SDK中使用时,只需要在下载图片时,为request设置xOssProcess属性。示例: OSSGetObjectRequest * request = [OSSGetObjectRequest new];request.bucketName = @'';request.objectKey = @'example.jpg';// 图片处理request.xOssProcess = @'image/resize,m_lfit,w_100,h_100';OSSTask * getTask = [client getObject:request];[getTask continueWithBlock:^id(OSSTask *task) { if (!task.error) { NSLog(@'download image success!'); OSSGetObjectResult * getResult = task.result; NSLog(@'download image data: %@', getResult.dowloadedData); } else { NSLog(@'download object failed, error: %@' ,task.error); } return nil;}];// [getTask waitUntilFinished];// [request cancel]; 需要对图片进行其它处理,只要替换request.xOssProcess的值就可以了。需要帮助,请参考: 可视化图片处理工具 ImageStyleViever ,可以直观的看到OSS图片处理的结果OSS图片处理的功能、使用演示 页面 流式下载实际上,SDK没有提供stream类型的下载接口,但是提供了类似NSURLSession库的didRecieveData的分段回调功能,下载时,每次得到一段数据,会回调这个函数进行通知。注意,如果设置了这个回调,下载的结果将不再包含实际数据。 OSSGetObjectRequest * request = [OSSGetObjectRequest new];// requiredrequest.bucketName = @'';request.objectKey = @'';// 分段回调函数request.onRecieveData = ^(NSData * data) { NSLog(@'Recieve data, length: %ld', [data length]);};OSSTask * getTask = [client getObject:request];[getTask continueWithBlock:^id(OSSTask *task) { if (!task.error) { NSLog(@'download object success!'); } else { NSLog(@'download object failed, error: %@' ,task.error); } return nil;}];// [getTask waitUntilFinished];// [request cancel]; 指定范围下载您可以在下载文件时指定一段范围,对于较大的Object适于使用此功能;如果在请求头中使用Range参数,则返回消息中会包含整个文件的长度和此次返回的范围。 OSSGetObjectRequest * request = [OSSGetObjectRequest new];request.bucketName = @';request.objectKey = @'';request.range = [[OSSRange alloc] initWithStart:1 withEnd:99]; // bytes=1-99// request.range = [[OSSRange alloc] initWithStart:-1 withEnd:99]; // bytes=-99// request.range = [[OSSRange alloc] initWithStart:10 withEnd:-1]; // bytes=10-request.downloadProgress = ^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) { NSLog(@'%lld, %lld, %lld', bytesWritten, totalBytesWritten, totalBytesExpectedToWrite);};OSSTask * getTask = [client getObject:request];[getTask continueWithBlock:^id(OSSTask *task) { if (!task.error) { NSLog(@'download object success!'); OSSGetObjectResult * getResult = task.result; NSLog(@'download result: %@', getResult.dowloadedData); } else { NSLog(@'download object failed, error: %@' ,task.error); } return nil;}];// [getTask waitUntilFinished];// [request cancel]; 只获取文件元信息通过headObject方法可以只获文件元信息而不获取文件的实体。代码如下: OSSHeadObjectRequest * request = [OSSHeadObjectRequest new];request.bucketName = @';request.objectKey = @'';OSSTask * headTask = [client headObject:request];[headTask continueWithBlock:^id(OSSTask *task) { if (!task.error) { NSLog(@'head object success!'); OSSHeadObjectResult * result = task.result; NSLog(@'header fields: %@', result.httpResponseHeaderFields); for (NSString * key in result.objectMeta) { NSLog(@'ObjectMeta: %@ - %@', key, [result.objectMeta objectForKey:key]); } } else { NSLog(@'head object failed, error: %@' ,task.error); } return nil;}]; 数据完整性校验因为移动端网络环境的复杂性,数据在客户端和服务器之间传输时有可能会出错。因此OSS SDK在下载过程中提供了基于CRC的端到端的数据完整性效验功能。 CRC校验在读取下载过程中时候,如果开启了crc效验,并有在传输中有数据错误的情况。会提示OSSClientErrorCodeInvalidCRC的错误。注:如果用户 OSSGetObjectRequest * request = [OSSGetObjectRequest new];request.bucketName = ...;//开启crc效验request.crcFlag = OSSRequestCRCOpen;OSSTask * task = [testProxyClient getObject:request];[[task continueWithBlock:^id(OSSTask *task) { //如果开启了crc效验,并有在传输中有数据错误的情况。会提示OSSClientErrorCodeInvalidCRC的错误 XCTAssertNil(task.error); return nil;}] waitUntilFinished];注:如果设置onReceiveData block。开启CRC效验后,需要自行比较CRC数值是否一致。范例如下OSSGetObjectRequest * request = [OSSGetObjectRequest new];request.bucketName = ....request.crcFlag = OSSRequestCRCOpen;....__block uint64_t localCrc64 = 0; //如果设置onReceiveData blockNSMutableData *receivedData = [NSMutableData data];request.onRecieveData = ^(NSData *data) { if (data) { NSMutableData *mutableData = [data mutableCopy]; void *bytes = mutableData.mutableBytes; localCrc64 = [OSSUtil crc64ecma:localCrc64 buffer:bytes length:data.length]; [receivedData appendData:data]; }};__block uint64_t remoteCrc64 = 0;OSSTask * task = [_client getObject:request];[[task continueWithBlock:^id(OSSTask *task) { XCTAssertNil(task.error); OSSGetObjectResult *result = task.result; if (result.remoteCRC64ecma) { NSScanner *scanner = [NSScanner scannerWithString:result.remoteCRC64ecma]; [scanner scanUnsignedLongLong:&remoteCrc64]; if (remoteCrc64 == localCrc64) { NSLog(@'crc64校验成功!'); } else { NSLog(@'crc64校验失败!'); } } return nil;}] waitUntilFinished];
    踩1 评论0
  • 提交了问题 2018-07-09

    判断Bucket是否存在

  • 提交了问题 2018-05-27

    我如何进入账号

  • 回答了问题 2018-04-18

    MsSQL数据库企业管理器和主机管理控制台显示已用空间大小不同原因

    详细解答可以参考官方帮助文档 数据库已用空间显示不一致原因:登录主机管理控制台,点击MsSQL数据库进入后,查看数据库属性,显示数据库已用空间,与您本地通过企业管理器连接上MsSQL数据库,显示的数据库已用空间大小不一致,原因是主机管理控制台所显示的数据库已用空间是数据库文件实际使用空间的大小,不包括日志文件空间的大小,而登录到企业管理器看见的数据库大小是包括日志文件的大小。MsSQL数据库实际使用空间以您在主机管理控制台中看到的大小为主,万网虚拟主机收费是按实际使用空间收费,所以只统计数据库文件所占用空间。 举例说明具体情况:1、登录到企业管理器看见的数据库大小为 “218.94MB”,是因为该值包括日志文件的大小。 2、在主机管理控制台中看到的“已用数据库空间(M): 119.19 MB ”是指的实际使用数据库空间的大小,也就是数据库文件dsc*_db_Data.mdf的大小。使用的日志文件大小为“已用日志空间(M): 99.75 MB ”。(两者相加119.19+99.75=218.94MB)如问题还未解决,请联系售后技术支持。
    踩1 评论0
  • 提交了问题 2018-04-08

    批量注册高级查询不能查询

  • 回答了问题 2018-02-14

    无法能通过rds给出的内网地址连到数据库

    详细解答可以参考官方帮助文档 云数据库RDS支持经典网络和专有网络(Virtual Private Cloud,简称VPC)两种网络类型。VPC的安全性较高,我们推荐您使用VPC网络。本文将介绍这两种网络类型的区别及切换方法。 说明 目前,RDS已支持将经典网络平滑迁移到VPC的功能,详细步骤请参见经典网络平滑迁移到VPC的混访方案。 背景信息 在阿里云平台上,经典网络和VPC的区别如下: 经典网络:经典网络中的云服务在网络上不进行隔离,只能依靠云服务自身的安全组或白名单策略来阻挡非法访问。 VPC:VPC帮助用户在阿里云上构建出一个隔离的网络环境。用户可以自定义专有网络里面的路由表、IP 地址范围和网关。此外,用户可以通过专线或者VPN的方式将自建机房与阿里云专有网络内的云资源组合成一个虚拟机房,实现应用平滑上云。 注意事项 切换网络后,原网络下的内网IP地址会改变,外网IP不变,请注意变更应用端的连接地址。例如,RDS实例从经典网络切换到VPC后,经典网络的内网地址会被立即释放,会生成VPC网络下的IP地址。所以,在经典网络中的ECS将不能再通过内网访问该RDS实例。 若从经典网络切换至VPC,MySQL 5.5/5.6需要先开启数据库代理,SQL Server 2008 R2的访问模式必须是高安全模式。关于访问模式的切换,请参见设置访问模式。 说明 在华北1、华北2、华东1、香港地域内的MySQL 5.5/5.6和SQL Server 2008 R2版本的实例没有该限制。 在切换网络时,RDS服务可能会出现1次30秒的闪断,请您尽量在业务低峰执行升级操作,或确保您的应用有自动重连机制,以避免闪断造成的影响。 操作步骤 登录RDS管理控制台。 选择目标实例所在地域。 单击目标实例的ID,进入基本信息页面。 在左侧导航栏中选择数据库连接,进入数据库连接页面。 执行如下操作,切换网络类型。 经典网络切换至VPC 单击切换为专有网络。 在下拉列表中选择VPC及虚拟交换机,如下图所示。 说明 如果列表中没有VPC或没有您需要的VPC或虚拟交换机,请创建与RDS在同一地域的VPC和交换机。关于VPC的创建步骤,请参见创建VPC。关于交换机的创建步骤,请参见创建交换机。 MySQL 5.5、MySQL 5.6和SQL Server 2008实例的访问模式必须是高安全模式,才能从经典网络切换至VPC。关于切换访问模式的步骤,请参见设置访问模式。 单击确定。 VPC切换至经典网络 单击切换为经典网络。 单击确定。
    踩1 评论0
  • 回答了问题 2018-02-01

    错误代码含义

    详细解答可以参考官方帮助文档 错误代码 描述 HTTP状态码 ServiceUnavailable The request has failed due to a temporary failure of the server. 503 InternalError The request processing has failed due to some unknown error, exception or failure. 500
    踩1 评论0
  • 回答了问题 2018-01-21

    实例管理设置参数

    详细解答可以参考官方帮助文档 您可以自定义RDS实例的部分参数的值,请在RDS控制台上查看可修改的具体参数信息。另外,您还可以查询参数修改记录。本文将介绍如何通过RDS控制台修改参数及查看修改历史,关于API操作,请参见本文末尾的API参考。 说明 PostgreSQL类型的实例暂不支持用户自定义参数。 SQL Server 2012及以上版本的实例只能通过SQL命令设置实例参数,详情请参见使用SQL命令设置参数。 背景信息 由于RDS提供的云数据库服务与原生的数据库服务完全兼容,所以设置云数据库参数方法和本地数据库参数设置方法基本类似。您可以参照本例,通过 RDS 管理控制台 修改参数,也可以通过API方式,执行相关命令修改参数设置,API详情请参见ModifyParameter。 数据库参数说明请参见如下官方文档: MySQL 5.5参数说明 MySQL 5.6参数说明 MySQL 5.7参数说明 SQL Server参数说明 修改参数值注意事项 请按照控制台上规定的可修改参数值范围自定义参数值。 部分参数修改后需要重启实例,详情请参见可修改参数页面中是否重启列。重启实例会有如下影响: 重启实例会造成连接中断,重启前请做好业务安排,谨慎操作。 操作步骤 登录RDS 管理控制台。 选择目标实例所在地域。 单击目标实例ID进入基本信息页面。 在左侧导航栏中,选择参数设置,进入参数设置页面。 选择可修改参数标签页。 您可以选择修改单个参数或批量修改参数,步骤如下: 修改单个参数 单击要修改的参数后的,如下图中1所示。 在弹出的窗口中输入目标值并单击确定。 单击提交参数,确认修改,如下图中2所示。 批量修改参数 单击导出参数,导出参数文件(.txt)到本地,如下图中1所示。 打开参数文件,批量修改所要设置的参数。 单击导入参数,如下图中2所示。 在导入参数窗口粘贴要修改的参数及参数值,并单击确定,如下图中3、4所示。 确认参数列表中参数修改结果,单击提交参数,如下图中5所示。 查看参数修改记录 登录RDS 管理控制台。 选择目标实例所在地域。 单击目标实例ID进入基本信息页面。 在左侧导航栏中,选择参数设置,进入参数设置页面。 选择修改历史标签页。 选择要查询的时间范围,单击查询。 API参考 DescribeParameterTemplates DescribeParameters ModifyParameter 最佳实践 MySQL实例参数调优参考
    踩1 评论0
  • 回答了问题 2018-01-09

    网站邮件发送功能不正常

    详细解答可以参考官方帮助文档 由于G享主机是windows2008运行环境,不支持php程序调用mail()函数的发信方式,我们可以使用以下发信方式来实现php程序发信功能。php程序调用socket方式发信代码:socket程序下载echo send_mail(‘此处为收件人邮箱’,’发信测试’,’测试测试测试测试测试测试’);function send_mail($to, $subject = ‘No subject’, $body) {        $loc_host = 'test';            //发信计算机名,可随意        $smtp_acc = ' test@hichina.com'; //Smtp认证的用户名,类似fuweng@im286.com,或者fuweng        $smtp_pass='test';          //Smtp认证的密码,一般等同pop3密码        $smtp_host='mx.hichina.com';    //SMTP服务器地址,类似 smtp.tom.com        $from='test@hichina.com';       //发信人Email地址,你的发信信箱地址    $headers = 'Content-Type: text/plain; charset='gb2312'Content-Transfer-Encoding: base64';    $lb='';                    //linebreak                   $hdr = explode($lb,$headers);     //解析后的hdr    if($body) {$bdy = preg_replace('/^./','..',explode($lb,$body));}//解析后的Body           $smtp = array(                //1、EHLO,期待返回220或者250                array('EHLO '.$loc_host.$lb,'220,250','HELO error: '),                //2、发送Auth Login,期待返回334                array('AUTH LOGIN'.$lb,'334','AUTH error:'),                //3、发送经过Base64编码的用户名,期待返回334                array(base64_encode($smtp_acc).$lb,'334','AUTHENTIFICATION error : '),                //4、发送经过Base64编码的密码,期待返回235                array(base64_encode($smtp_pass).$lb,'235','AUTHENTIFICATION error : '));        //5、发送Mail From,期待返回250        $smtp[] = array('MAIL FROM: '.$lb,'250','MAIL FROM error: ');        //6、发送Rcpt To。期待返回250        $smtp[] = array('RCPT TO: '.$lb,'250','RCPT TO error: ');        //7、发送DATA,期待返回354        $smtp[] = array('DATA'.$lb,'354','DATA error: ');        //8.0、发送From        $smtp[] = array('From: '.$from.$lb,'','');        //8.2、发送To        $smtp[] = array('To: '.$to.$lb,'','');        //8.1、发送标题        $smtp[] = array('Subject: '.$subject.$lb,'','');        //8.3、发送其他Header内容        foreach($hdr as $h) {$smtp[] = array($h.$lb,'','');}        //8.4、发送一个空行,结束Header发送        $smtp[] = array($lb,'','');        //8.5、发送信件主体        if($bdy) {foreach($bdy as $b) {$smtp[] = array(base64_encode($b.$lb).$lb,'','');}}        //9、发送“.”表示信件结束,期待返回250        $smtp[] = array('.'.$lb,'250','DATA(end)error: ');        //10、发送Quit,退出,期待返回221        $smtp[] = array('QUIT'.$lb,'221','QUIT error: ');         //打开smtp服务器端口        $fp = @fsockopen($smtp_host, 25);        if (!$fp) echo 'Error: Cannot conect to '.$smtp_host.'';        while($result = @fgets($fp, 1024)){if(substr($result,3,1) == ' ') { break; }}               $result_str='';        //发送smtp数组中的命令/数据        foreach($smtp as $req){                //发送信息                @fputs($fp, $req[0]);                //如果需要接收服务器返回信息,则                if($req[1]){                        //接收信息                        while($result = @fgets($fp, 1024)){                                if(substr($result,3,1) == ' ') { break; }                        };                        if (!strstr($req[1],substr($result,0,3))){                                $result_str.=$req[2].$result.'';                        }                }        }        //关闭连接        @fclose($fp);        return $result_str;}?> 如问题还未解决,请联系售后技术支持。
    踩1 评论0
  • 提交了问题 2017-12-26

    网站空间满了

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息