问题描述
这个是演示的页面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的那个应用)提交的图片?如果你们是偷人家网站的应用,那么还敢提民警?
解决方案:
说白了,就是,真正的开发人员不再了。找客服人员冒充开发人员。