How to display images which is stored outside the folder? - html

I want to display images which is stored outside the root folder in asp.net
like :
Image1.ImagUrl="C:\temp\Images\img1.jpg"
but it is not helpful for me. So Please help me.

The path you are supplying is not a URL. You need to supply the virtual path to the file, not the absolute (file system) path.
Image1.ImagUrl="~/Images/img1.jpg"
The browser is incapable of reading files on your local file system.
You can map a virtual directory to any directory on your file system so it has a virtual path. Let's say you want to make the physical directory C:\temp\Images\ into a virtual directory called /Images/ and you are using IIS 7.
Open Internet Information Services (IIS) Manager.
Under sites, navigate to the site you wish to place the virtual directory in.
Right click on the site node, and click "Add Virtual Directory...".
For the alias, type Images.
For the Physical Path, type C:\temp\Images\.
Click OK.
Now you can access your image through the virtual directory /Images/img1.jpg.
Image1.ImagUrl="~/Images/img1.jpg"

Image1.ImagUrl=#"C:\temp\Images\img1.jpg"
put a # before the path string

Related

How can I disable direct access to a folder html page?

Heres the scenario: In the root of the server i have an folder named "data".
In this folder is a file named "random-file.html". Now I want, that you can't see the contents of the folder "data" if you type "domain.com/data/" but you have access to the file "random-file.html" and can it.
Sure you can. You can hide it using .htaccess. I assume you use xampp server. You can see this [1] https://www.opentechguides.com/how-to/article/apache/115/htaccess-file-dir-security.html
If I recall correctly, the most secure practice is to keep sensitive files outside the root of your webserver all together. Create a folder on the VM or server which your app is hosted and have your application read/write/use it from there.
Most serverside frameworks/tools have a "websecrets" type functionality you could use. But this step above is my 'framework agnostic' advice.

How to create link in HTML that download that file

I have http://192.168.230.237:20080 Server
file located on "/etc/Jay/log/jay.txt"
I tried with "http://192.168.230.237:20080/etc/Jay/log/jay.txt" this link gives me "404 NOT Found"
Here I can I link my file to link
Your HTTP server will have a configuration option somewhere (Apache HTTPD calls it DocumentRoot) which determines where http://example.com/ maps onto the filesystem of the computer.
Commonly this will be /var/www/.
Unless you change it to / (which would expose your entire filesystem over HTTP and is very much not recommended), you can't access arbitrary files on the computer.
/etc/ is used to store configuration information for software installed on the computer. It should almost never be exposed outside the computer.
The best solution to your problem is probably:
Look at the configuration of your HTTP server and identify the document root (e.g. /var/www/)
Move your website files to that directory
If you really want to expose files under /etc via HTTP then you could also change the document root.
Your webserver might also support features like Apache HTTPD's Alias directive which allows you to map a URL onto a file that can be outside the DocumentRoot.

How to do I create a cgi-bin directory?

I need a cgi-bin but I can't find one when I am connected on Filezilla or cPanel, it's just public_html and that's it.
What do I do? I have looked online and it says that I need to use a command line but I have no clue how I would do that!
The "cgi-bin" directory does not exist until you create it with your FTP program at the top level of your Web site directory. From the perspective of your FTP program, it's just a normal directory (folder) that you can create, but it's treated differently by the server because of its special name.
Open your Filezilla program and connect to your website.
When you are in your top-level directory, (Where you see "public_html")
Right-click anywhere in the the window and select "create directory."
Simply name the directory "cgi-bin"
You're done!

open shared folder from web application

I have one in house Perl web application (Windows OS), and I need to find the best way to open shared folder from my application with user default file explorer. I prefer some Perl module or some cross browser method (I don't know what browser would be used by user).
I tried with file:/// but I am searching for something better.
If what you are trying to achieve is something like accessing a file on a samba share, I would suggest simply using UNC paths (\yourserver\shared_folder\filename). If you point to an actual file it will be opened by the default program associated with that extension in Windows. If you point to a folder, the windows explorer would open up in that folder, as if you typed the UNC path in a start -> run dialog box.
So in perl this would be like below, if your shared folder is on server named "phobos" with a share "movies".
system('\\phobos\movies'); # mind the quoting!!
If you were trying to open up a file in the default program in windows you would use something like:
system('\\phobos\movies\my_cool_movie.avi'); # mind the quoting!!
Is that what you mean with your question?

Aptana Studio 3 preview problems with absolute path

I have this structure for my project:
Root Directory
|-css folder
|-style.css
|
|-it folder
|-index.html
If I try to include css file with:
<link href="/css/style.css" rel="stylesheet" type="text/css"/>
from index.html, aptana preview and also internal server can not find style.css.
Why is this?
In my remote server it works perfectly and I do not want to use a relative path.
In terms of the "why", the problem you are having is related to how your development server is setup versus your production server.
Assuming a standard setup, your production server will receive requests for a domain (i.e., http://mysite.com) that is, for lack of a better word, mapped to a folder on your server (i.e, a request to http://mysite.com will be mapped to a folder, /var/www/mysite, on your server).
So, when you link to a style sheet with /css/style.css, your (production) sever immediately goes to the /var/www/mysite folder and starts looking for the css folder, file and so on. No problems with that, as you point out.
Your development machine, however, is serving up pages locally and has a different directory structure for mapping to files and folders.
When I open an HTML page in my Aptana project and hit the preview button, Studio loads http://127.0.0.1:8020/mysite/public/404.html (note how the first folder after the IP and port is mysite). To load the absolutely pathed CSS file, the local server is actually looking for http://127.0.0.1:8020/css/styles.css but it needs to get to http://127.0.0.1:8020/mysite/css/styles.css.
The initial "/" in your link (/css/styles.css) tells the server to go to the root directory of the server and start looking for the folder and files from that point ... but there is no css folder in the local server's root directory. It lives in /mysite/css/styles.css and that's why fskreuz suggests relative paths and using "../css/styles.css" instead.
Personally, I prefer absolute links (but that's just a personal preference and not in any way a challenge to or comment upon fskreuz's response). However, my local development setup is conducive to using them because I setup virtual hosts for the sites I work on. Using Apache, I setup a virtual host for each of my projects. With this, I can load something like http://dev.mysite.com in any browser on my computer and test my site/app in a way that makes it mirror my production setup.