VB6 post图片
在VBA中怎样用XMLhttp 模拟http上传二进制文件?
https://www.zhihu.com/question/40974557
作者:付杨
链接:https://www.zhihu.com/question/40974557/answer/145193012
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Private Function ToHexString(ByRef buf() As Byte) As String
Dim i As Long, j As Long
Dim nlen As Long
Dim tmpHex As String
Dim HexStr As String
Dim tmpbuf() As Byte
nlen = (UBound(buf) + ) *
ReDim tmpbuf(nlen - )
j =
For i = To UBound(buf)
HexStr = Hex(buf(i))
If Len(HexStr) = Then HexStr = "" & HexStr
tmpbuf(j) = Asc(Mid(HexStr, , ))
j = j +
tmpbuf(j) = Asc(Mid(HexStr, , ))
j = j +
Next
ToHexString = StrConv(tmpbuf, vbUnicode)
End FunctionPrivate Sub PostFile(ByVal PUrl As String, ByVal PFile As String)
Dim PostData, Boundary As String
Dim Upload_File As String
Dim Http As Object
Dim fn As Integer
Dim fbuf() As Byte
Upload_File = PFile
'------------------打开Adodb.stream 流读取二进制文件------------------
fn = FreeFile()
ReDim fbuf(FileLen(Upload_File) - )
Open Upload_File For Binary As #fn
Get #fn, , fbuf
Close #fn
'-----------------构造POST数据 ----------------------
Boundary = "----WebKitFormBoundary1iVXNONaGEDOCghI"
PostData = "--" & Boundary & vbCrLf
PostData = PostData & "Content-Disposition: form-data; name=file; filename=F:\Work\E盘\mydata\VBSource\FrontClient2012 For SQL SERVER\20170208000018010000.jpg; payje=4.9; paytype=; payxsdbh=20170208000018010000; payxssj=15:53:40; payfdbh=0000;" & vbCrLf
PostData = PostData & "Content-Type: application/x-jpg" & vbCrLf
PostData = PostData & "" & vbCrLf
PostData = PostData & ToHexString(fbuf) & vbCrLf '写入文件二进制内容PostData = PostData & "--" & Boundary & vbCrLf'---------------发送数据包-------------------------------------
Set Http = CreateObject("Msxml2.XMLHTTP")
Http.Open "POST", PUrl, True
Http.setRequestHeader "Content-Type", "multipart/form-data; boundary=" & Boundary
Http.send PostData
End Sub
VB6 post图片的更多相关文章
- VB6 GDI+ 入门教程[6] 图片
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[6] 图片 2009 年 6 月 19 日 15条评论 ...
- VB6之GDI+加载PNG图片
原生的VB6不支持PNG个图片,因为刚有VB的时候还没有PNG的概念呢.不过,利用GDI+加载解析个PNG简直是砍瓜切菜般简单. GDI+的模块是我在网上下载的,地址应该是:http://vistas ...
- 【原创】VB6.0应用程序安装包的生成(Setup Factory 9.0制作安装包的方法)
VB6.0应用程序安装包的生成,利用其自带的打包工具生成的安装程序很简陋,一点不美观:如果想让自己的应用程序安装的时候显得高大上一点,本教程提供使用Setup Factory 9.0制作安装包的方法. ...
- VB6 GDI+ 入门教程[7] Graphics 其他内容
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[7] Graphics 其他内容 2009 年 9 月 ...
- VB6 GDI+ 入门教程[8] Bitmap魔法(1):创建
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[8] Bitmap魔法(1):创建 2009 年 9 月 ...
- VB6 GDI+ 入门教程[9] Bitmap魔法(2):数据读写
本文转自 http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[9] Bitmap魔法(2):数据读写 200 ...
- vb6 控件未注册问题解决
打开项目时弹出如题错误. 另附一个帖子:http://bbs.csdn.net/topics/390580540,这个帖子讨论的不错,可以提供很多思路. 解决办法:http://rewwensoftw ...
- 从以往子类化跟踪MouseLeave深入讨论VB6的自定义Hook类
一.关于起因 之前发过一篇博文,是关于VB6中跟踪鼠标移出事件的示例(http://www.cnblogs.com/alexywt/p/5891827.html) 随着业务状况的不断发展,提出了更多的 ...
- VS2010 开发 VB6.0 activeX控件 dll
项目源码 https://download.csdn.net/download/csdn_z_s/10427764 开发环境 操作系统: win7 64位 旗舰版 Java语言开发环境: Eclip ...
随机推荐
- Nginx常用命令介绍
#安装nginx准备工作yum install gcyum -y install pcre-develyum install -y zlib-devel #编译安装./configuremake &a ...
- Thread and Peocess
Thread and Peocess pthread_create() 原型: int pthread_create(pthread_t* thread, pthread_attr_t* attr, ...
- 关键字: on
关键字: on 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户. 在使用left jion时,on和where条件的区别如下: 1. on条件是在生成 ...
- vue watch 监听
1.普通的watch data() { return { frontPoints: 0 } }, watch: { frontPoints(newValue, oldValue) { console. ...
- mac 上使用移动硬盘
1. 打开终端,查看赢盘的Volume Name diskutil list 2. 更新fstab文件,此步骤需要输入密码 sudo nano /etc/fstab 3. 在fstab文件中写入一下内 ...
- 1658: Easier Done Than Said?
1658: Easier Done Than Said? Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 15 Solved: 12[Submit][St ...
- Luogu P1782 旅行商的背包
题目传送门 卡常背包果然名不虚传 算法主体就是两种背包分开跑,先跑多重背包,再跑奇货 不知道为什么,这题二进制拆分好像要比单调队列优化快一些 然后这题毒瘤的地方就出来了: 如果一件物品的体积\(\ti ...
- java在线聊天项目 实现基本聊天功能后补充的其他功能详细需求分析 及所需要掌握的Java知识基础 SWT的激活方法,swt开发包下载,及破解激活码
补充聊天项目功能,做如下需求分析: 梳理项目开发所需的必要Java知识基础 GUI将使用更快速的swt实现 SWT(Standard Widget Toolkit) Standard Widget T ...
- iOS 面试集锦2
4.写一个setter方法用于完成@property (nonatomic,retain)NSString *name,写一个setter方法用于完成@property(nonatomic,copy) ...
- ios调试技巧
一.概述1.掌握调试技巧,调试技术最基本,最重要的调试手段包括:单步跟踪,断点,变量观察等.单步跟踪(Step)所谓单步跟踪是指一行一行地执行程序,每执行一行语句后就停下来等待指示,这样你就能够仔细了 ...