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


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

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

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


加好友 发短信
等级:六尾狐 帖子:1265 积分:7838 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2019/3/21 17:07:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

麻烦版主研究一下,这个放在那里,基本上文件收发的功能就齐全了
[此贴子已经被作者于2019/3/21 17:42:32编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | 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)


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


加好友 发短信
等级:六尾狐 帖子:1265 积分:7838 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2019/3/21 19:18:00 [只看该作者]

一样报错


图片点击可在新窗口打开查看此主题相关图片如下:4.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1265 积分:7838 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2019/3/22 17:35:00 [只看该作者]

上产问题已经完美解决,现在折腾下载的,我发现它要用流的方法下载,不是很懂这个代码怎么转换成狐表里使用
参考SDK文档:https://help.aliyun.com/document_detail/91748.html?spm=a2c4g.11186623.6.918.5a726927v0LA4F
参考SDK C#代码:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:getobjectsample.txt



Imports System
Imports System.IO
Imports System.Text
Imports System.Threading
Imports System.Security.Cryptography
Imports Aliyun.OSS.Common


            Try
                Dim result = client.GetObject(bucketName, key) ' bucketName是空间名称,key是服务器里的文件存储路径

                Using requestStream = result.Content

                    Using fs = File.Open("d:/123.rar", FileMode.OpenOrCreate) '下载到d:/123.rar ,这几段红色的玩意,不知道怎么转狐表
                        Dim length As Integer = 4 * 1024
                        Dim buf = New Byte(length - 1) {}

                        Do
                            length = requestStream.Read(buf, 0, length)
                            fs.Write(buf, 0, length)
                        Loop While length <> 0
                    End Using
                End Using

                Console.WriteLine("Get object succeeded")
            Catch ex As OssException
                Console.WriteLine("Failed with error code: {0}; Error info: {1}. " & vbLf & "RequestID:{2}" & vbTab & "HostID:{3}", ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId)
            Catch ex As Exception
                Console.WriteLine("Failed with error info: {0}", ex.Message)
            End Try
[此贴子已经被作者于2019/3/22 17:37:50编辑过]

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/22 20:58:00 [只看该作者]

        Try
dim accessKeyId As String = Config.AccessKeyId
dim accessKeySecret As String = Config.AccessKeySecret
dim endpoint As String = Config.Endpoint
dim client As OssClient = New OssClient(endpoint, accessKeyId, accessKeySecret)
dim key As String = "GetObjectSample"
dim fileToUpload As String = Config.FileToUpload
dim dirToDownload As String = Config.DirToDownload
dim _event As AutoResetEvent = New AutoResetEvent(False)
            client.PutObject(bucketName, key, fileToUpload)
            Dim result = client.GetObject(bucketName, key)

            Using requestStream = result.Content

                Using fs = File.Open(dirToDownload & "/sample.data", FileMode.OpenOrCreate)
                    Dim length As Integer = 4 * 1024
                    Dim buf = New Byte(length - 1) {}

                    Do
                        length = requestStream.Read(buf, 0, length)
                        fs.Write(buf, 0, length)
                    Loop While length <> 0
                End Using
            End Using

            Console.WriteLine("Get object succeeded")
        Catch ex As OssException
            Console.WriteLine("Failed with error code: {0}; Error info: {1}. " & vbLf & "RequestID:{2}" & vbTab & "HostID:{3}", ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId)
        Catch ex As Exception
            Console.WriteLine("Failed with error info: {0}", ex.Message)
        End Try

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


加好友 发短信
等级:六尾狐 帖子:1265 积分:7838 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2019/3/22 21:09:00 [只看该作者]

我是想问,红色那段,怎么转换用?前后那些引用我基本都懂。这个流的转换读取,就不懂了

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/22 21:37:00 [只看该作者]

这段代码没有问题。有什么问题?

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


加好友 发短信
等级:幼狐 帖子:124 积分:1586 威望:0 精华:0 注册:2015/6/5 18:06:00
  发帖心情 Post By:2019/3/28 22:50:00 [只看该作者]

你好,我为什么定义全局代码的时候显示 未定义类型 Aliyun.OSS.Common.StreamTransferProgressArgs

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


 回到顶部
总数 21 上一页 1 2 3 下一页