[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1808
  • Last Modified:

Filling in <input type="file" field using webbrowser control

I am trying to make an app to help automate some daily tasks on my website, I have everything set to automatically fill in data in the text fields and drop down boxes but I am having a lot of difficulty with the <input type="file" field, I've seen it mentioned that sendkeys should work with it but I have been unsuccessful doing that. Is there some kind of workaround for this? I really could use some help with this - Thanks!

&#9;&#9;<div class="tab-page" id="step2"> 
&#9;&#9;&#9;&#9;<h4 class="tab">2. Images</h4> 
&#9;&#9;&#9;&#9;<table cellpadding="5"> 
&#9;&#9;&#9;&#9;<tr> 
&#9;&#9;&#9;&#9;&#9;<td><b>Add a new image to this product</b></td> 
&#9;&#9;&#9;&#9;</tr> 
&#9;&#9;&#9;&#9;</table> 
&#9;&#9;&#9;&#9;<hr style="width:100%;" /><br /> 
&#9;&#9;&#9;&#9;<table cellpadding="5" style="width:100%"> 
&#9;&#9;&#9;&#9;&#9;<tr> 
&#9;&#9;&#9;&#9;&#9;&#9;<td class="col-left">File:</td> 
&#9;&#9;&#9;&#9;&#9;&#9;<td style="padding-bottom:5px;"> 
&#9;&#9;&#9;&#9;&#9;&#9;&#9;<input type="file" id="image_product" name="image_product" /> 
&#9;&#9;&#9;&#9;&#9;&#9;&#9;<p>Format: JPG, GIF, PNG<br />Filesize: 2000Kb max.</p> 
&#9;&#9;&#9;&#9;&#9;&#9;</td> 

Open in new window


Using VB 2008
0
battleweb
Asked:
battleweb
  • 8
  • 4
  • 3
  • +1
1 Solution
 
George K.Commented:
This is not possible due to security.- cannot be done.
Imagine a web site able to get any file on a user computer.
0
 
battlewebAuthor Commented:
I've read that many times, but I'm sure there is some sort of work around for this - (ie. change the element in the source to "text", ad the location of the file then change it back to "file" or maybe using a passthrough server where the html is changed on the way back to the server to contain the path of the file - something). The reason I believe there is a work around is because I've seen many automated browser apps actually work around that issue, so there are work arounds and I am looking for a work around.
0
 
George K.Commented:
Maybe you could use  an upload directory once of course it is on your home server.

Have also a lookt at iMacros  for Firefoxhttps://addons.mozilla.org/en-US/firefox/addon/imacros-for-firefox/
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
George K.Commented:
as a workaround:

<input type="file" id="myfile" onchange="document.getElementById('myfile').value=this.value" />
<input type="text" id="textname" />

.
.
.
0
 
battlewebAuthor Commented:
georgekl,
   It all has to be contained in my app (third party browser etc won't work for what I'm trying to achieve). I'm not understanding your last post - it is my own server, I am trying to interact with a third party php script, I wouldnt begin to know where and what to change in it, so if I can change the page source in my webbrowser control or via a pass through server, that'd be ideal.
0
 
Eddie ShipmanAll-around developerCommented:
What you have to do is post your form outside of the webrowser control using something like XMLHTTP and make sure the form is multi/part encoded.
I've done this before with Delphi but not in VB.Net.
0
 
battlewebAuthor Commented:
Eddie,
  Thank you for your suggestion, but as I had mentioned, The WB control must be used due to the nature of the program. However, I am open to workarounds which will allow me to hide the file input box or place it outside of the screen area and then be filled - as long as it is out of view.
0
 
Eddie ShipmanAll-around developerCommented:
It can be done without the user even knowing by using XMLHTTP in Javascript. You just have to make sure the form is built correctly before posting.
0
 
battlewebAuthor Commented:
EddieShipman - that's basically the same as saying "it can be done" and not giving any info as to how - that doesnt help. Besides, the workaround needs to be done within my VB.net application, not server side.
0
 
CodeCruiserCommented:
For the following solution, you would have to download the html and add the javascript to it before showing in WB

http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Basic.NET/Q__25216919.html
0
 
Eddie ShipmanAll-around developerCommented:
What you do is take the info and file that you want to send and form an XMLHTTP request and post it to the URL that you want to send it to all in javascript or jQuery ajax.
How difficult its that?
0
 
battlewebAuthor Commented:
EddieShipman, are you kidding me? What part of this question says I know anything about "XMLHTTP", javascript or jQuery ajax? You don't provide a solution or example and expect me to know exactly what the heck you are talking about. I am a VB programmer only. Do me a favor, quit posting here, you have used up far too much of my time.
0
 
battlewebAuthor Commented:
CodeCruiser - can you give me an example of how that would work - I am not familiar with javascript and from what I seen in that post, it merely clears a field, but does not fill in the file location in the file field.
0
 
Eddie ShipmanAll-around developerCommented:
Well, you must not be a very good VB programmer if you know nothing about XMLHTTP.
I'll leave you alone because you are wasting MY time.
0
 
battlewebAuthor Commented:
I have been unable to obtain any useful information, but have been openly insulted. This question needs to be closed.
0
 
battlewebAuthor Commented:
No solution provided.
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

  • 8
  • 4
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now