标题:VFP 上传文件到WEB服务器
取消只看楼主
aroffice
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-9-23
结帖率:92.31%
已结贴  问题点数:10 回复次数:5 
VFP 上传文件到WEB服务器
在一个登录后的网页中,点击选择文件,选中特定文件,然后上传。
我想在VFP自动选中文件,然后上传。有什么好的办法不?
前面我用的是
POWINHTTP = CREATEOBJECT("WinHttp.WinHttpRequest.5.1")
并在VFP中获取相关信息生成POST登录信息的,登录后就可以访问上传文件页面了。
这个网页是在内网之中。
搜索更多相关主题的帖子: 服务器 上传文件 登录 VFP WEB 
2022-11-19 21:48
aroffice
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-9-23
得分:0 
以下是引用sam_jiang在2022-11-19 23:09:15的发言:

你可以参考这篇文章。。。
https://blog.


我现在已经在前面做好了登录,现在不知道如何加入文件的二进制数据到上传信息中。

                    YMID1=STREXTRACT(POWINHTTP.RESPONSETEXT, [__VIEWSTATE" value="], [" />])
                    YMID2=STREXTRACT(POWINHTTP.RESPONSETEXT, [__EVENTVALIDATION" value="], [" />])
&&设定数据分隔
                    POSTFGF="----WebKitFormBoundarySSoR4BK8bRgIJUh0"

**重新构建POST数据
                    POSTDATA="--"+POSTFGF+CHR(13)
                    POSTDATA=POSTDATA+[Content-Disposition: form-data; name="__VIEWSTATE"]+CHR(13)+CHR(13)+ZHURL(YMID1)+CHR(13)
                    POSTDATA=POSTDATA+"--"+POSTFGF+CHR(13)
                    POSTDATA=POSTDATA+[Content-Disposition: form-data; name="__EVENTVALIDATION"]+CHR(13)+CHR(13)+ZHURL(YMID2)+CHR(13)
                    POSTDATA=POSTDATA+"--"+POSTFGF+CHR(13)
                    POSTDATA=POSTDATA+[Content-Disposition: form-data; name="ctl00$ContentPlaceHolder1$UpFile"; filename="]+[20221119202630ks.xls]+["]+CHR(13)&&文件名
                    POSTDATA=POSTDATA+[ Content-Type: application/vnd.ms-excel]+CHR(13)
                    POSTDATA=POSTDATA+FILETOSTR("20221119202630ks.xls")+CHR(13)&&加入文件的二进制数据
                    POSTDATA=POSTDATA+"--"+POSTFGF+CHR(13)
                    POSTDATA=POSTDATA+[Content-Disposition: form-data; name="ctl00$ContentPlaceHolder1$UploadBtn"]+CHR(13)+CHR(13)
                    POSTDATA=POSTDATA+"--"+POSTFGF+CHR(13)
                    STRTOFILE(POSTDATA,"POSTdata.TXT")

                    POWINHTTP.OPEN("POST", SURL, .F.)
                    POWINHTTP.SETREQUESTHEADER("Content-Type", "multipart/form-data; boundary="+POSTFGF)
*!*                                POWINHTTP.SETREQUESTHEADER ("Content-Length",LEN(POSTSTR))
                    POWINHTTP.SETREQUESTHEADER("Referer", SURLR )
                    POWINHTTP.SEND(POSTSTR)  && 提交表单进行登录
2022-11-20 11:19
aroffice
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-9-23
得分:0 
回复 4楼 sam_jiang
用这个上传提示不是要求的文件格式,上传失败。无论是XLS文件还是压缩成zip
2022-11-20 13:09
aroffice
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-9-23
得分:0 
回复 7楼 厨师王德榜
这个服务器不在我的掌握之中,我如果掌握了一切都要办了
2022-11-25 13:35
aroffice
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-9-23
得分:0 
回复 9楼 sam_jiang
只允许上传xls或zip格式
2022-11-29 13:14
aroffice
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-9-23
得分:0 
回复 4楼 sam_jiang
还有上传时必须要引用原来页面中的那个值。
2022-11-29 13:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-510704-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.635943 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved