Get Image Dimensions Using Javascript During File Upload?
May 19, 2010
I have file upload UI element in which the user will upload images. Here I have to validate the height and width of the image in client side. Is it possible to find the size of the image having only the file path in JS?Note: If No, is there any other way to find the dimensions in Client side?
in above code I define format of image that user can upload .png or .jpg image and size of image should be lessthan 100KB now I want define that users just can upload images with dimension 1007*143 how I can do it?
Given a URL to an image (and not the image itself), what's the most efficient of getting it's dimensions? I would like to change the height and width attributes in the image tag (<img>) if it is greater than 200x200. However, if it's smaller than that, then I'd like to keep the size as it is. (I'm using ASP.NET/C#)
using vb.net 2005.I am reading an image using a FileStream object and wondering this: is there a way that I can check what the dimensions are of a file before I read it using the FileStream object? the code I have now is like this:
m using asp.net 3.5 and c# on my website.Here is myquestion:I have an upload button and asp:Image on a page. An user can upload an image from his computer and that image will be displayed in the asp:image. But before I display the image, I would like to check the width and height of the uploaded image. How do I do this?
Im getting some images from a webpage at a specified url, i want to get their heights and widths. I'm using something like this:
Stream str = null; HttpWebRequest wReq = (HttpWebRequest)WebRequest.Create(ImageUrl); HttpWebResponse wRes = (HttpWebResponse)(wReq).GetResponse(); str = wRes.GetResponseStream(); var imageOrig = System.Drawing.Image.FromStream(str); int height = imageOrig.Height; int width = imageOrig.Width;
My main concern with this is that that the image file may actually be very large,Is there anything I can do? ie specify to only get images if they are less than 1mb?or is there a better alternative approach to getting the dimension of an image from a webpage?
I have many image in my page my images size are between 100 -200kb I want redeuce my images size to 4-5Kb ... How I can do it? is there any control to do it?
I'm using a slightly modified version of Valum's upload [github link], I've modified it to upload to a database but haven't modified the javascript that it is using to get the file into the Request as an InputStream. The following line of code is failing in IE 8 but is confirmed to work in Chrome. using (Image imgInput = Image.FromStream(Request.InputStream)) The error received is "Parameter not valid". It appears to be having an issue with the Input Stream being used but it exists/has data (not sure how to validate if the data is good or not).
Page <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <h2>Upload-Pictures</h2> <div id="file-uploader"> <noscript> <p>Please enable JavaScript to use file uploader.</p> </noscript> </div> <script src="/Scripts/fileuploader.js" type="text/javascript"></script> <script type="text/javascript"> function createUploader() { var uploader = new qq.FileUploader({ element: document.getElementById('file-uploader'), action: '/Admin/FileUpload/' + <%= Model.PropertyId %>, debug: true }); } window.onload = createUploader; </script> </asp:Content> Controller [AcceptVerbs(HttpVerbs.Post)] public JsonResult FileUpload(int id) { try { byte[] newImageByteArray = GetByteArrayForResizedImage(350, Request.InputStream); byte[] thumbnailByteArray = GetByteArrayForResizedImage(150, Request.InputStream); //Add to DB } catch (Exception ex) { // This is where the exception is caught return Json(new { success = false, message = ex.Message }, "application/json"); } return Json(new { success = true }, "application/json"); } private static byte[] GetByteArrayForResizedImage(int imageSize, Stream inputStream) { byte[] imageByteArray; // For some reason in IE the inputStream here is causing it to crash using (Image imgInput = Image.FromStream(inputStream)) { //Image processing } return imageByteArray; } fileuploader.js - qq.FileUploader /** * Class that creates upload widget with drag-and-drop and file list * @inherits qq.FileUploaderBasic */ qq.FileUploader = function(o){ // call parent constructor qq.FileUploaderBasic.apply(this, arguments); // additional options qq.extend(this._options, { element: null, // if set, will be used instead of qq-upload-list in template listElement: null, template: '<div class="qq-uploader">' + '<div class="qq-upload-drop-area"><span>Drop files here to upload</span></div>' + '<div class="qq-upload-button">Upload a file</div>' + '<ul class="qq-upload-list"></ul>' + '</div>', // template for one item in file list fileTemplate: '<li>' + '<span class="qq-upload-file"></span>' + '<span class="qq-upload-spinner"></span>' + '<span class="qq-upload-size"></span>' + '<a class="qq-upload-cancel" href="#">Cancel</a>' + '<span class="qq-upload-failed-text">Failed</span>' + '</li>', classes: { // used to get elements from templates button: 'qq-upload-button', drop: 'qq-upload-drop-area', dropActive: 'qq-upload-drop-area-active', list: 'qq-upload-list', file: 'qq-upload-file', spinner: 'qq-upload-spinner', size: 'qq-upload-size', cancel: 'qq-upload-cancel', // added to list item when upload completes // used in css to hide progress spinner success: 'qq-upload-success', fail: 'qq-upload-fail' } }); // overwrite options with user supplied qq.extend(this._options, o); this._element = this._options.element; this._element.innerHTML = this._options.template; this._listElement = this._options.listElement || this._find(this._element, 'list'); this._classes = this._options.classes; this._button = this._createUploadButton(this._find(this._element, 'button')); this._bindCancelEvent(); this._setupDragDrop(); }; fileuploader.js - qq.FileUploaderBasic /** * Creates upload button, validates upload, but doesn't create file list or dd. */ qq.FileUploaderBasic = function(o){ this._options = { // set to true to see the server response debug: false, action: '/server/upload', params: {}, button: null, multiple: true, maxConnections: 3, // validation allowedExtensions: [], sizeLimit: 0, minSizeLimit: 0, // events // return false to cancel submit onSubmit: function(id, fileName){}, onProgress: function(id, fileName, loaded, total){}, onComplete: function(id, fileName, responseJSON){}, onCancel: function(id, fileName){}, // messages messages: { typeError: "{file} has invalid extension. Only {extensions} are allowed.", sizeError: "{file} is too large, maximum file size is {sizeLimit}.", minSizeError: "{file} is too small, minimum file size is {minSizeLimit}.", emptyError: "{file} is empty, please select files again without it.", onLeave: "The files are being uploaded, if you leave now the upload will be cancelled." }, showMessage: function(message){ alert(message); } }; qq.extend(this._options, o); // number of files being uploaded this._filesInProgress = 0; this._handler = this._createUploadHandler(); if (this._options.button){ this._button = this._createUploadButton(this._options.button); } this._preventLeaveInProgress(); };
I have a form that will accept and save a MP4 video file. I need to be able to get the dimensions of the video as well. This will be running on a server running ASP.NET 2.0 so any external libs must be able to be placed in the Bin folder as they can not be installed on the server.
how to get the information? If the same lib would let me transcode the video to flv that would be a huge bonus.
Update: The server is XP Service Pack 2 with .NET Framework (2,0,50727,0)
I want to access one image file residing in C: of the client's machine. I know with the help of file upload control (or say input type=file), this would be easy. Due to nature of my application (Its a KIOSK application), user is not expected to select file. I am just wondering how should I implement reading file without using file upload control. I want to store this file in Images folder of server. I am beginner to WCF. Should I look towards WCF?
I have this file upload control. I have created a folder name "images" in my visual studio project. I want to upload image into this folder. BUT, when I am uploading a image, system does not show any error. It is uploading the image. But I cannot see it into the "images" folder. But, when I browse the folder from my computer like if I go to c:/my documents/vs project/my project/images. i can see the uploaded image. Then why the image is not visible from my visual studio?? as the image is not visible in my visual studio project, user can not see the uploaded image. my code is as below:
I have an 'Attach image button' in my web page, I don't want see the the file upload control cannot use any third party tools in my page. On the click of the 'Attach image button' it will directly shows the browser's directory window and select the file from that and can directly uploads to the server.
I have an 'Attach image button' in my web page, I don't want see the the file upload control cannot use any third party tools in my page. On the click of the 'Attach image button' it will directly shows the browser's directory window and select the file from that and can directly uploads to the server.
So I'm working on a site that is going to need a file upload control where the user would be able to upload an image, and then the page would postback causing the image to appear for their viewing (before they submit the data to the database, the image is being stored as type image). What I do now is have my own private web form where people send me their image, I format it accordingly and use the following simple code to upload it:
byte[] newimage = fileUpImgFile.FileBytes; var myDataTable = (from item in context.TypeSet where item.Number == txtBxNumber.Text.Trim() select item).ToList(); foreach (Type item in myDataTable) { item.Photo = newimage; } context.SaveChanges();
Which works, but in this case, it would only work if the record exists already in the database so the person would have to save the data, then go back in and upload the image (inconvenient and inefficient). Is there a way to upload it, store it in memory, and then display it, without saving it to the database?
uploading image from one server to another server. i am developing one website [URL] and from this website i want to upload images to another website say [URL] using asp:fileupload control... is it possible to upload file or image from localhost machine to different server using fileupload.saveas method..
Here in UpdatePanel i have 2 lable :1-lable20 and 2-lblMessage
These lable show error message when Extension and size of image are out of limit.
Problem is when i.e I upload .rar file and click on BtnUpload button it exit from popup window and i cant't see error message i should click on upload button again untill again show popup window after that i can see error message
I want it doesn't exit from popup window until user enter correct format of image if they don't enter correct format they can see error on popup window.
i have fileupload control and image control.on click of browse button fileupload window gets open and after selecting image it should appear on image control.even i tried with AsyncFileUpload control from AjaxControlToolkit and its uploadcomplete event. but still i m not able to do it.