如何使用webbrowser上传文件 ----------------- 等大神来解决啊 标题长才能被关注

问题描述

这个是演示的页面http://119.57.196.67/test.html

目前需要上传三张违法图片,需要实现自动选择,请大神指教客户环境是IE6是不是直接可以给file.value赋值另外想请教一下弹出文件选择窗口怎么赋值路径并点击确定

解决方案

本帖最后由 nineland 于 2015-12-01 10:06:05 编辑
解决方案二:
顶顶顶顶顶顶
解决方案三:

解决方案四:
引用2楼starfd的回复:老大我已经看过这个帖子了,他这个demo连接已经失效了
解决方案五:
他主体代码也都贴出来了,你就按照那个代码一步步试验下来呗
解决方案六:
uploadfile1setvalue后触发onchange试试。
解决方案七:
引用4楼starfd的回复:

他主体代码也都贴出来了,你就按照那个代码一步步试验下来呗

我考虑是弹出以后获取下句柄然后赋值,不过这个好像有点麻烦而且可靠性不高,不知道有其他办法没?
解决方案八:
引用5楼wawd74520的回复:

uploadfile1setvalue后触发onchange试试。

请教下如何setvalue?
解决方案九:
webBrowser1.Document.GetElementById("uploadfile1").SetAttribute("value",@"C:UsersAdministratorDesktopa.jpg");webBrowser1.Document.GetElementById("uploadfile1").InvokeMember("onchange");类似这样
解决方案十:
引用8楼wawd74520的回复:

webBrowser1.Document.GetElementById("uploadfile1").SetAttribute("value",@"C:UsersAdministratorDesktopa.jpg");webBrowser1.Document.GetElementById("uploadfile1").InvokeMember("onchange");类似这样

IE8以后value是只读的值
解决方案十一:
引用9楼nineland的回复:

Quote: 引用8楼wawd74520的回复:
webBrowser1.Document.GetElementById("uploadfile1").SetAttribute("value",@"C:UsersAdministratorDesktopa.jpg");webBrowser1.Document.GetElementById("uploadfile1").InvokeMember("onchange");类似这样

IE8以后value是只读的值

只读也能设置。你可以试试。连readonly的属性都可以改webBrowser1.Document.GetElementById("uploadfile1").SetAttribute("readonly",“false”);
解决方案十二:
引用楼主nineland的回复:

目前需要上传三张违法图片,需要实现自动选择,请大神指教客户环境是IE6是不是直接可以给file.value赋值另外想请教一下弹出文件选择窗口怎么赋值路径并点击确定

一一回答你的问题吧1、“自动选择”作何解释?是浏览器自动上传图片?如果是这样的话,很遗憾地告诉你,除了使用插件(IE下ActiveX控件,其它浏览器也有相应扩展)是没办法解决的2、不可以为file.value赋值,虽然N年前有高人实现了在<inputtype="file"/>中设置显示文本,但仅显示而已。因此赋值只能通过对话框选取。3、弹出文件选择窗口也无法设置路径不要再纠结上面的问题了,推荐你使用个第三方的上传工具SWFUpload,上面的问题基本能够解决。
解决方案十三:
引用10楼wawd74520的回复:

Quote: 引用9楼nineland的回复:
Quote: 引用8楼wawd74520的回复:
webBrowser1.Document.GetElementById("uploadfile1").SetAttribute("value",@"C:UsersAdministratorDesktopa.jpg");webBrowser1.Document.GetElementById("uploadfile1").InvokeMember("onchange");类似这样

IE8以后value是只读的值

只读也能设置。你可以试试。连readonly的属性都可以改webBrowser1.Document.GetElementById("uploadfile1").SetAttribute("readonly",“false”);

嗯昨天试过值这个,确实没办法赋值,必须弹出才能赋值
解决方案十四:
不好意思,没看清问题,是在WinForm内套了个WebBrowser,打开页面成功后自动上传图片吧?
解决方案十五:
引用11楼caojinrong的回复:

Quote: 引用楼主nineland的回复:
目前需要上传三张违法图片,需要实现自动选择,请大神指教客户环境是IE6是不是直接可以给file.value赋值另外想请教一下弹出文件选择窗口怎么赋值路径并点击确定

一一回答你的问题吧1、“自动选择”作何解释?是浏览器自动上传图片?如果是这样的话,很遗憾地告诉你,除了使用插件(IE下ActiveX控件,其它浏览器也有相应扩展)是没办法解决的2、不可以为file.value赋值,虽然N年前有高人实现了在<inputtype="file"/>中设置显示文本,但仅显示而已。因此赋值只能通过对话框选取。3、弹出文件选择窗口也无法设置路径不要再纠结上面的问题了,推荐你使用个第三方的上传工具SWFUpload,上面的问题基本能够解决。

那就是说我如果必须实现自动上传,就需要先弹出选择窗口,然后获取选择窗口的句柄,赋值然后提交?
解决方案:
引用13楼caojinrong的回复:

不好意思,没看清问题,是在WinForm内套了个WebBrowser,打开页面成功后自动上传图片吧?

嗯对,打开以后去选择上传
解决方案:
引用13楼caojinrong的回复:

不好意思,没看清问题,是在WinForm内套了个WebBrowser,打开页面成功后自动上传图片吧?

版主提供的那个方法成功率不可控制因为是通过timer实现的
解决方案:
没必要非得通过WebBrowser上传,通过C#上传,然后修改图片链接就行了
解决方案:
引用17楼caojinrong的回复:

没必要非得通过WebBrowser上传,通过C#上传,然后修改图片链接就行了

必须用webbrowser,还需要民警去检查数据
解决方案:
不显示可能是需要修改别的js变量。你这个测试页面本就不完善。手动上传也有问题。
解决方案:
引用19楼wawd74520的回复:

不显示可能是需要修改别的js变量。你这个测试页面本就不完善。手动上传也有问题。

对这个页面只是html,不是公安网的。不显示缩略图是对的,不过弹出jpg错误是不对的
解决方案:
引用2楼starfd的回复:老大我考虑用句柄去操作,你看还有更优的方案吗。园子的作者用的是timer我觉得稳定性不好
解决方案:
要不还是抓包做协议算了。
解决方案:
引用18楼nineland的回复:

Quote: 引用17楼caojinrong的回复:
没必要非得通过WebBrowser上传,通过C#上传,然后修改图片链接就行了

必须用webbrowser,还需要民警去检查数据

服了你了,通过web上传就是对form进行submit,把数据上传到action指定的url对应的后台进行处理对吧?!这个过程实际上就是对后台进行了一次post操作,而数据就由form决定,对吧?!现在的问题就是自动包装图片数据到要post的数据包,对吧?!你弄个能够上传的测试页面,操作我帮你整!
解决方案:
引用23楼caojinrong的回复:

Quote: 引用18楼nineland的回复:
Quote: 引用17楼caojinrong的回复:
没必要非得通过WebBrowser上传,通过C#上传,然后修改图片链接就行了

必须用webbrowser,还需要民警去检查数据

服了你了,通过web上传就是对form进行submit,把数据上传到action指定的url对应的后台进行处理对吧?!这个过程实际上就是对后台进行了一次post操作,而数据就由form决定,对吧?!现在的问题就是自动包装图片数据到要post的数据包,对吧?!你弄个能够上传的测试页面,操作我帮你整!

公安内网完全没办法测试
解决方案:
引用

公安内网完全没办法测试

自己把测试页面的功能整全,要不然你还有什么可干的?别人怎么帮你?
解决方案:
引用25楼caojinrong的回复:

引用
公安内网完全没办法测试

自己把测试页面的功能整全,要不然你还有什么可干的?别人怎么帮你?

引用25楼caojinrong的回复:

引用
公安内网完全没办法测试

自己把测试页面的功能整全,要不然你还有什么可干的?别人怎么帮你?

选择以后没有上传的动作只是验证一下大小跟后缀,不知道这样认为可对否?
解决方案:
内网的好啊。如果可以直接拿到数据库。直接插就好了。不行就用协议做吧。这种模拟器操作的不稳定。
解决方案:
客户端IE6是可以实现的。不过不能用fileinput.value="FilePath"这种模式,要让fileinput得到焦点,然后使用类似SendKeys.Send(FilePath)的方式,代替人工键入。然后使用脚本提交表单,达到自动上传的目的。
解决方案:
引用18楼nineland的回复:

Quote: 引用17楼caojinrong的回复:
没必要非得通过WebBrowser上传,通过C#上传,然后修改图片链接就行了

必须用webbrowser,还需要民警去检查数据

如果你们做系统客户端,就不会说这个话。为什么不应该修改服务端系统而接受桌面应用(你们嵌套webbrowser的那个应用)提交的图片?如果你们是偷人家网站的应用,那么还敢提民警?
解决方案:
说白了,就是,真正的开发人员不再了。找客服人员冒充开发人员。

时间: 2024-09-09 03:52:09

如何使用webbrowser上传文件 ----------------- 等大神来解决啊 标题长才能被关注的相关文章

Ueditor上传图片提示未找到上传文件-求大神帮助

问题描述 Ueditor上传图片提示未找到上传文件-求大神帮助 解决方案 参考:http://blog.sina.com.cn/s/blog_63b470180102ux4a.html

linux-ftp上传文件后大小为0

问题描述 ftp上传文件后大小为0 ftp程序上传 本地win 到linux a 正常 ftp命令上传 linux b 到linux a 正常 ftp程序上传 linux b 到linux a 不正常 文件上传后0字节,这是怎么回事? 解决方案 ftp上传文件(jftp) 解决方案二: ftp命令上传 linux b 到linux a 正常 ftp程序上传 linux b 到linux a 不正常 什么意思?有时正常,有时不正常? 网络不稳定吧. 解决方案三: 命令和程序导致的结果不一样 那是不

Win 2003上传文件不能超过200k解决方法

解决|上传 问题:无法上传较大的文件"Request 对象 错误 'ASP 0104 : 80004005'"或者上传成功后,找不到文件名 更改Win 2003的IIS 6.0对asp的上传文件大小为200k限制,aspx的上传程序没有影响.在IIS6.0中,默认设置是特别严格和安全的,最大只能传送 204,800 个字节,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击.IIS 6 出于安全考虑, 默认最大请求是200K(也即最大提交数据限额为200KByte,204800

Windows 2003上传文件不能超过200k解决方法

出处: 天极网 问题:无法上传较大的文件"Request 对象 错误 'ASP 0104 : 80004005'"或者上传成功后,找不到文件名 更改Win 2003的IIS 6.0对asp的上传文件大小为200k限制,aspx的上传程序没有影响.在IIS6.0中,默认设置是特别严格和安全的,最大只能传送 204,800 个字节,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击.IIS 6 出于安全考虑, 默认最大请求是200K(也即最大提交数据限额为200KByte,2048

Apache上传文件500错误的解决方法_Linux

打开Apache的httpd.conf配置文件,在这个文件里增加下面的参数设置即可. 复制代码 代码如下: MaxRequestLen 10240000 我这里设置为10M,比PHP上传默认最大值8M略大即可.你可以根据自己的需要,调整这个参数的值,注意这个参数的单位是字节. 配置完成后重启Apache即可.

Windows 2003中ASP上传文件不能超过200K解决方法

打开位于 C:\Windows\System32\Inetsrv 中的 metabase.XML,并修改 AspMaxRequestEntityAllowed 为你需要的值(例如 51200000, 50MB). 碰到的问题 我在之前碰到了在保存是无法保存成功了,这个原因是因为我在修改此文件是iis并未停止所导致的,停止之后修改保存再重启iis就可以了.

利用Xmlhttp 分块上传文件

xml|上传 编写思路:把本地文件在客户端通过base64编码以后发送目的地.测试过程中,上传文件过大,导致超时不成功.后来经过改善.把编码分段发送.测试20M成功 编写目的:在传统的解决方案里面,一次一次选取上传可以.但是在碰到把数据库里文件路径读出来,并把这些文件上传到一个地方的时候就比较麻烦.如果得到路径一个一个去找到用ftp当然也是可以的,但每次找这些文件我看都会比较费时.这里编写这个主要就是为了通过数据库里的文件路径取得文件.把文件一次批量上传到一个地方.其主要目的还是为了锻炼一下自己

xmlhttp 分块上传文件

编写思路:把本地文件在客户端通过base64编码以后发送目的地.测试过程中,上传文件过大,导致超时不成功.后来经过改善.把编码分段发送.测试20M成功 编写目的:在传统的解决方案里面,一次一次选取上传可以.但是在碰到把数据库里文件路径读出来,并把这些文件上传到一个地方的时候就比较麻烦.如果得到路径一个一个去找到用ftp当然也是可以的,但每次找这些文件我看都会比较费时.这里编写这个主要就是为了通过数据库里的文件路径取得文件.把文件一次批量上传到一个地方.其主要目的还是为了锻炼一下自己. 解决过程:

限制上传文件大小-Springmvc上传文件限制大小,异常处理返回报错信息后,eclipse控制台还报错

问题描述 Springmvc上传文件限制大小,异常处理返回报错信息后,eclipse控制台还报错 1.web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/X