Foxtable(狐表)用户栏目专家坐堂 → 请问AddressOf这个回调指针,怎么使用?我现在用阿里云oss上传文件,想上传时显示进度条,里面有这个东西,实在看不懂


  共有3555人关注过本帖树形打印复制链接

主题:请问AddressOf这个回调指针,怎么使用?我现在用阿里云oss上传文件,想上传时显示进度条,里面有这个东西,实在看不懂

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/21 15:56:00 [显示全部帖子]

StreamTransferProgressArgs

 

改成

 

Aliyun.OSS.Common.StreamTransferProgressArgs

 

或者

 

Aliyun.OSS.StreamTransferProgressArgs


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/21 16:54:00 [显示全部帖子]

在全局代码写代码啊。每上传一点,就会触发一次事件的啊,你在里面写进度条的代码就行啊。

 

比如

 

msgbox(CExp("ProgressCallback - TotalBytes:{0}, TransferredBytes:{1}, IncrementTransferred:{2}", args.TotalBytes, args.TransferredBytes, args.IncrementTransferred))

 

或者

 

output.show(CExp("ProgressCallback - TotalBytes:{0}, TransferredBytes:{1}, IncrementTransferred:{2}", args.TotalBytes, args.TransferredBytes, args.IncrementTransferred))


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/21 17:04:00 [显示全部帖子]

在上传的时候,绑定事件啊

 

AddHandler putObjectRequest.StreamTransferProgress, AddressOf streamProgressCallback


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/21 17:52:00 [显示全部帖子]

Dim putObjectRequest = New Aliyun.oss.PutObjectRequest(bucketName, UpLoadPath , fs)

 

改成

 

Dim putObjectRequest as New Aliyun.oss.PutObjectRequest(bucketName, UpLoadPath , fs)


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/21 20:05:00 [显示全部帖子]

代码改成 chen37280600

 

Dim endpoint As String = "http://oss-cn-shenzhen.aliyuncs.com" '阿里云oss深圳地域
Dim accessKeyId As String = "LTAInCHeElRmNUBgabc"
Dim accessKeySecret As String = "8EjqqYKDBlWu47uvY5en1Irl8vHmSj123"
Dim bucketName As String ="mbldt" '存储空间的名称
Dim LocalPath As String = "d:/test.jpg" '设置上传的文件的本地路径
Dim  UpLoadPath As String = "demo/321.jpg" '上传后的文件路径
Dim client As New Aliyun.OSS.OssClient(endpoint, accessKeyId, accessKeySecret) '根据SDK创建阿里云oss对象

Try
   
    Dim fs As System.IO.FileStream = System.IO.File.Open(LocalPath, System.IO.FileMode.Open)
    Dim putObjectRequest As New Aliyun.oss.PutObjectRequest(bucketName, UpLoadPath , fs)
    putObjectRequest.StreamTransferProgress = AddressOf streamProgressCallback
    client.PutObject(putObjectRequest)
    'client.PutObject(bucketName, UpLoadPath , LocalPath) '执行上传
    messagebox.show("上传成功" )
Catch ex As Exception
    messagebox.show("上传失败,原因" & ex.Message)
End Try

[此贴子已经被作者于2019/3/21 20:05:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/28 23:07:00 [显示全部帖子]

以下是引用yongol在2019/3/28 22:50:00的发言:
你好,我为什么定义全局代码的时候显示 未定义类型 Aliyun.OSS.Common.StreamTransferProgressArgs

 

改成 Aliyun.OSS.StreamTransferProgressArgs


 回到顶部