以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]如何通过Http直接发送二进制文件流 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=176146) |
-- 作者:qqzwc -- 发布时间:2022/4/1 14:33:00 -- [求助]如何通过Http直接发送二进制文件流 香参照以下接口Demo说明,读取一个图片为二进制数据,并直接发送,在Foxtable中如何实现? https://ai.intsig.com/doc/general/sample_code/v1.0 尤其这句话,不知如何实现 POST BODY:待识别的文件二进制流System.IO.FileStream.Read读取到的内容是Byte()字节数组,可是Foxtable的HttpClient要传输的却是String,如果使用System.Text.Encoding.UTF8.GetString(Byte())或者System.Text.Encoding.ASCII.GetString(Byte())读取到的字符串与十六进制编辑器直接打开看到的数据不一致,因此直接给API结果传过去也会报错,该怎么处理呢? 有大神可以参照C#示例代码,写一个Foxtable版本的代码吗?
[此贴子已经被作者于2022/4/1 16:03:06编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/4/1 14:36:00 -- c#转vb:http://converter.telerik.com/ |
-- 作者:有点蓝 -- 发布时间:2022/4/1 14:36:00 -- 如果使用Foxtable的httpclient参考:http://www.foxtable.com/mobilehelp/topics/0161.htm |
-- 作者:qqzwc -- 发布时间:2022/4/1 16:16:00 -- 无论System.IO.FileStream.Read方法或者ADO.Stream.Read()方法,读取文件获得的是一个Byte()类型,怎样才能转换成WebClient或者HttpClient要用的String去发送呢? System.Text.Encoding.UTF8.GetString(Byte())或者System.Text.Encoding.ASCII.GetString(Byte())转换后的内容与WinHex直接看文件十六进制内容不一致,API接收会报错 --------------------------- 错误 --------------------------- 编译错误:类型“Byte 的 1 维数组”的值无法转换为“String”。 错误代码:Dim ret As String=hc.UploadData(url,byData) --------------------------- 确定 --------------------------- |
-- 作者:有点蓝 -- 发布时间:2022/4/1 16:27:00 -- 如果1楼的代码是接口官方提供的,转换为vb不可能有问题,有问题就找他们客服。 UploadData返回的是字节流,不是字符串。UploadData返回的也不是文件,而是接口接收后反馈的结果 |
-- 作者:qqzwc -- 发布时间:2022/4/1 16:37:00 -- 感谢您的耐心指导,明白了!UploadData返回的是字节流,已解决! Dim hc As New System.Net.WebClient Dim response As Byte()= hc.UploadData(url, picbytes) Dim ret As String = System.Text.Encoding.UTF8.GetString(response)
|