473,668 Members | 2,491 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Check image properties with Javascript

I browse for an image using form input type file and call a JavaScript
function with onchange.

I then want the function to check the image's properties (width, height,
filesize).

In WinIE, the following works:

var myimage = new Image();
myimage.src = fileID.value; // fileID is the form input type file ID, passed
to the function with getElementById( 'file')
alert(myimage.w idth); //gives the pixel width of the file (or height or
fileSize).

This does not work in Netscape or Safari.

How do obtain these properties in Netscape and Safari?
Jul 23 '05 #1
2 9208
Roger Withnell wrote:
I browse for an image using form input type file and call a JavaScript
function with onchange.

I then want the function to check the image's properties (width, height,
filesize).
[snip]
How do obtain these properties in Netscape and Safari?


AFAIK, you can't. IE is the only browser that lets you do this,
other browsers only give you the attributes that are set. So if you
don't tell your new image what its height and width are, you can't
retrieve their values.
Cheers, Rob.
Jul 23 '05 #2
Roger Withnell wrote:
I browse for an image using form input type file and call a JavaScript
function with onchange.

I then want the function to check the image's properties (width, height,
filesize).

In WinIE, the following works:

var myimage = new Image();
myimage.src = fileID.value; // fileID is the form input type file ID, passed
to the function with getElementById( 'file')
alert(myimage.w idth); //gives the pixel width of the file (or height or
fileSize).

This does not work in Netscape or Safari.
You can't access an image's attributes milliseconds after you set it's SRC
attribute. The browser can't know what the dimensions of the image are until
it's (down)loaded the image, and that does not happen instantaneously .
How do obtain these properties in Netscape and Safari?


Use the browser's ability to inform you when the image is done (down)loading the
image using the image's -onload- event:

var myimage = new Image();
myimage.onload = function() {
alert(this.widt h);
}
myimage.onerror = function() {
alert('Image did not load!');
}
myimage.src = 'path/to/the/image';

You won't be able to obtain the image's -fileSize-, that attribute is only
available on a limited subset of browsers (possibly only IE, maybe a very few
others that attempt to mimic IE's abilities).

--
Grant Wagner <gw*****@agrico reunited.com>
comp.lang.javas cript FAQ - http://jibbering.com/faq

Jul 23 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
14653
by: Edo van der Zouwen | last post by:
It's quite easy in Php: <?php $language = $_SERVER; $language_short = substr($taal,0,2); echo $language_short; ?>
2
7277
by: Shawn | last post by:
Hi, I have a page where users can upload images, but sometimes the images are too small. How can get the height and width (in pixels) for an image? I've seen it done in PHP but never in ASP. Thanks, Shawn
1
5185
by: Big Dave | last post by:
Good morning, does anyone know of a good tutorial, or have insight into how to embed an image or javascript file into a custom server control for asp.net? Thanks for your help!!! Big Dave *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it!
1
3016
by: Freedolen | last post by:
Hi, Iam new to this forum. I need to find the given TIFF image is in CMYK or RGB. Though i have checked with Image::Magick, and used: my $img = new Image::Magick; $img->Read("Sample.tif"); my ($type) = $img->Get("type");
2
2566
by: | last post by:
I have a few custom controls that expose properties of type Image. The built in controls that have Image properties allow you to delete the image and set it back to "None". How can I allow my own Image propeties to be set back to None just by deleting the image name from the property grid? Thanks. J
6
15735
by: Francesco Moi | last post by:
Hi. I'd like to flip horizontally an image with JavaScript. Is it possible? Thank you very much.
2
9128
by: wildman | last post by:
RE: Gridview textbox has data check without postback.. javascript? I have a gridview with a textbox. I can set the textbox to autopostback and check for a value in a prerender event to decide if I should make a button on the grid row visible. However, the problem with autopostback on a textbox is the postback occurrs when you select another control or click away ( I guess). This is very awkward when the control selected is dropdown as...
6
3217
by: swethak | last post by:
Hi, I displayed the image taken from database.How to raotate that image using javascript.plz tell that how to start the logic.plz tell that some reference websites.
0
8462
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8381
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8893
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8658
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7401
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5681
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4205
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
2026
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1786
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.