How to download files from a web folder in vb.net - vb.net

I have a web folder e.g. "http://www.myhost.com/software/" if I open this address in IE it show me all files which this folder have.
I want to download all files but I don't want to hard-code name of files. I know I can get the files with webclient.DownloadFiles(#address,#filename). Is this possible to download all files or at least get the name of files from the web folder?

As a minimum you can download the same file IE displays (note that this file is provided by your web server -- there is not a standard) and parse the HTML for the files yourself, e.g. using webclient.DownloadFile("http://www.myhost.com/software/", #listfilename).
To access the files more "professionally", you'll need to see if the server also allows access via FTP or WebDAV because HTTP does not have a file "interface".

Related

How can I set security to download file in vue.js

I don't want guests are able to download files (pdf, word .etc).At first users must log in to download files. How can I get information about it?

Browser cannot download .txt file if the project is .Net Core Restful API

I am trying to activate my SSL for my project but one of the the urls doesn't respond.
This is the web site and when you paste the url to the browser, it downloads the .txt file.
http://www.xxx.co.uk/.well-known/pki-validation/83CB00D29E282E1FFD6DFB220F030EF4.txt
This is the Restful .Net Core API domain and when you paste the url to the browser, it returns 404 error.
http://api.xxx.co.uk/.well-known/pki-validation/83CB00D29E282E1FFD6DFB220F030EF4.txt
Under the IIS I have compared the psychical paths, permissions and it seems everything is same. I believe something in Rest API blocks the .txt file download. Should I check the web.config or something I need to add to the C# source code? Should I update ConfigureServices(IServiceCollection services)? In IIS I have checked MIME Types and the .txt is already defined.
Any suggestions?
I believe my problem is pointing to this subject but I am not sure how to enable/define .txt files in startup.cs. Any code snippets?
How to Serve Static File
EDIT: Finally I found a solution. Now the browser can download the .txt files. What I did is, I created a virtual directory in IIS. Here are the steps:
Go to the C: drive
Create a new folder called well-known
Inside the .well-known folder, create another folder named pki-validation
so far, your folders should look like this: C:\.well-known\pki-validation
Upload the TXT file in the pki-validation folder
Open the IIS Manager on your server
Do a right click on your website and select Add Virtual Directory
In the Alias section write .well-known
In the Psychical Path area enter the path to the well known folder. For example: C:\well-known
Press OK to create this alias
The urls are now serving the .txt files. I hope these steps one day saves the other developers time.

Giving access to file from Tomcat to external user

I have Tomcat setup with servlets. When the user request a file to download, then I send him the path to the file to download.
1-Currently the path is in C drive. Do you think I should move it to be somehwere under Tomcat?
2-How can I give the user access to the folder/file so he can download it?
3-Finally, if there are multiple files inside the folder. How can I ensure he can only see this file (i.e. if he manually changes the file name in the URL, he won't get the file with that modifed file name)
Thank you
One possibility:
Yes move them over to tomcat say under /myapp/resources/file_library
when the users requests for a particular file , build a temp user directory and
copy the file in there and send the link to him , as in
/myapp/user_xyz/requestedfile#1
Always maintain the temp location with only one file, i.e. when the user requests another
file, clear the temp user-specific area and put the next file in .
/myapp/user_xyz/requestedfile#2

Uploading multiple files given only relative local path

Say I have a user, and that user has an XML file which, among other things, includes the relative (to the XML file) path to one or more images stored on their local machine. I want them to be able to upload this XML file to a web server, and automatically upload the images.
So my XML file might contain:
<tag>Images\img_20120905_015463548.jpg</tag>
and I want to upload both the XML file and img_20120905_015463548.jpg in one operation.
The problem is, as best I can tell, I can't get a local web page to grab the images automatically using JS/jQuery due to the pesky web browser security model that won't allow me to upload arbitrary files off the local computer, or even know the real path of the XML file. After bashing my head against a brick wall for a few hours, I've come up with two possible solutions:
Upload the XML file, the server strips out the image file addresses and asks the user to locate each one. While it would get the job done, it's ugly and error-prone.
Use a batch file (or similar) to copy the XML file and images to a public-facing web server that the user can access on the local network, and then supply the public address of the XML file to my web server. It can then grab the images off the local public server. Problem: my IT department are too competent to allow users file access to public-facing servers. :)
Is there any solution out there I might have missed, that allows the user to upload multiple files given filenames only specified as a relative path?
Thanks in advance. :)
If you are not restricted to a web-only solution, this would be achievable using a plugin or desktop application. For instance, a desktop .NET or Java WebStart application or a signed and therefore trusted Java applet would be able to access the local XML file and any associated image files, then upload them to the web server using a POST, web services or WebDAV.

How do I store different documents in production environment?

I'm working on a "UPLOAD DOCUMENTS" functionality where different customer can upload the required documents and employer should be able to view all the uploaded documents by the customers. Currently in my local system I can upload the documents and it saves the uploaded file to "inetpub" folder. But in order to provide "upload documents" feature to production environment what should be the path? Where Can these documents be saved?
Any suggestion is appreciated.
The files need to be accessible to users for download somehow. This is tricky however, as it opens you up to security issues if they upload an executable file and then request it.
What I normally do is keep the file information (name, type, etc.) in a database. Then, I name the file on disk with a consistent naming structure, such as UPLOAD_ASSET_123456, with no file extension. I also keep them out of the web root.
Then, to retrieve to the file from the web end, have a script that accepts an ID, and then the script echos the file contents.