The fileupload widget can control what kind of files can be uploaded.
There you can restrict the files only to images.

On 25 January 2016 at 18:16, Julio Heitor Nobrega <[email protected]>
wrote:

> Is there a way to see what format the file has? If it isn't an image i'll
> have to warn the user.
>
> 2016-01-25 14:58 GMT-02:00 Julio Heitor Nobrega <[email protected]>:
>
>> Hi Alain,
>>
>> nice code! I am going to do this but in a java version code. I just
>> didn't know i could get the image path from a 'value' of the
>>
>> document.getElementById("fileUpload")
>>
>> I could even show a image preview to the user before send it to the
>> server!
>>
>> Or maybe convert the base64 String to byte array, scale it and then send
>> to the server :)
>>
>> Thanks!
>>
>> 2016-01-25 14:22 GMT-02:00 Alain Ekambi <[email protected]>:
>>
>>> I think what you should to is get the base64  representation of the
>>> image from the canvas. Something like
>>>
>>> var p;var canvas = document.createElement("canvas");
>>> var img1=document.createElement("img");
>>> function getBase64Image(){
>>>     p=document.getElementById("fileUpload").value;
>>>     img1.setAttribute('src', p);
>>>     canvas.width = img1.width;
>>>     canvas.height = img1.height;
>>>     var ctx = canvas.getContext("2d");
>>>     ctx.drawImage(img1, 0, 0);
>>>     var dataURL = canvas.toDataURL("image/png");alert("from getbase64 
>>> function"+dataURL );
>>>     return dataURL;}
>>>
>>> Then send the base64 to the server and corvert it to byterarry or
>>> whatever format you need there to save it to disc,
>>>
>>>
>>>
>>> On 25 January 2016 at 17:11, Julio Heitor Nobrega <
>>> [email protected]> wrote:
>>>
>>>> Hi Alain,
>>>>
>>>> i am doing exactly that. I am sending the byte array to the server,
>>>> saving it as a file in a directory and storing the path in a DB column.
>>>>
>>>> My problem is to get the byte array from the file (is it possible to
>>>> get the byte array using FileUpoad?) and work on it before send to the
>>>> server.
>>>>
>>>> 2016-01-25 13:39 GMT-02:00 Alain Ekambi <[email protected]>:
>>>>
>>>>> Would it be a better designer to save the image on disc and just save
>>>>> the link to the image to the DB ?
>>>>>
>>>>> On 25 January 2016 at 15:59, Julio Heitor Nobrega <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> As a matter of fact, i am beginning to think that its more wise to
>>>>>> send the whole image to the server, scale it using Scalr and store it 
>>>>>> into
>>>>>> the DB.
>>>>>>
>>>>>> I want to have the control of the image size, test levels of quality.
>>>>>> The Scalr has a mode called 'Automatic' that fits your image to the
>>>>>> dimensions you pass to it.
>>>>>>
>>>>>> None of it i will have with GWT Canvas.
>>>>>>
>>>>>> The only drawback i would get using Scalr is that i will consume more
>>>>>> bandwidth DigitalOcean  gives me monthly because i will have to send the
>>>>>> whole image to the server.
>>>>>>
>>>>>> 2016-01-25 12:52 GMT-02:00 Julio Heitor Nobrega <
>>>>>> [email protected]>:
>>>>>>
>>>>>>> Thanks for your answer Greg!
>>>>>>>
>>>>>>> Actually, i really need a byte array because i will store it in a
>>>>>>> BLOB database column.
>>>>>>>
>>>>>>> Regards!
>>>>>>>
>>>>>>> 2016-01-25 12:43 GMT-02:00 Greg <[email protected]>:
>>>>>>>
>>>>>>>> Just use context.getCanvas().toDataUrl(); which will return data
>>>>>>>> uri with the contents of the canvas. You can use it directly in <img
>>>>>>>> src=""> element or send it to server.
>>>>>>>>
>>>>>>>> On Monday, January 25, 2016 at 3:19:03 PM UTC+1, Julio Heitor
>>>>>>>> Nobrega wrote:
>>>>>>>>>
>>>>>>>>> I have just found an example (
>>>>>>>>> http://c.gwt-examples.com/home/ui/canvas).
>>>>>>>>>
>>>>>>>>> The only problem is to convert ImageData to an byte array :)
>>>>>>>>>
>>>>>>>>> Regards!
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2016-01-25 12:08 GMT-02:00 Julio Heitor Nobrega <
>>>>>>>>> [email protected]>:
>>>>>>>>>
>>>>>>>>>> Does anyone have some examples regarding the Canvas class?
>>>>>>>>>>
>>>>>>>>>> I've seen the java doc API but the only methods i think that
>>>>>>>>>> could be useful was:
>>>>>>>>>>
>>>>>>>>>> Context2d
>>>>>>>>>> <http://www.gwtproject.org/javadoc/latest/com/google/gwt/canvas/dom/client/Context2d.html>
>>>>>>>>>>  *getContext2d
>>>>>>>>>> <http://www.gwtproject.org/javadoc/latest/com/google/gwt/canvas/client/Canvas.html#getContext2d%28%29>*
>>>>>>>>>> ()
>>>>>>>>>>           Returns a 2D rendering context.
>>>>>>>>>>  void *setCoordinateSpaceHeight
>>>>>>>>>> <http://www.gwtproject.org/javadoc/latest/com/google/gwt/canvas/client/Canvas.html#setCoordinateSpaceHeight%28int%29>*
>>>>>>>>>> (int height)
>>>>>>>>>>           Sets the height of the internal canvas coordinate
>>>>>>>>>> space.
>>>>>>>>>> void *setCoordinateSpaceWidth
>>>>>>>>>> <http://www.gwtproject.org/javadoc/latest/com/google/gwt/canvas/client/Canvas.html#setCoordinateSpaceWidth%28int%29>*
>>>>>>>>>> (int width)
>>>>>>>>>>           Sets the width of the internal canvas coordinate space.
>>>>>>>>>>
>>>>>>>>>> 2016-01-14 16:36 GMT-02:00 Kirill Prazdnikov <[email protected]>:
>>>>>>>>>>
>>>>>>>>>>> Canvas is an DOM Element.
>>>>>>>>>>> It can render Image Elements to itself in any resolution.
>>>>>>>>>>> However it may produce not nice results.
>>>>>>>>>>>
>>>>>>>>>>> It depends on what you need.
>>>>>>>>>>>
>>>>>>>>>>> On Thursday, January 14, 2016 at 9:17:36 PM UTC+3, Julio Heitor
>>>>>>>>>>> Nobrega wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Hi guys,
>>>>>>>>>>>>
>>>>>>>>>>>> thanks everyone for the answers!
>>>>>>>>>>>>
>>>>>>>>>>>> Greg,  is Canvas a GWT framework or its a class that belong to
>>>>>>>>>>>> GWT itself?
>>>>>>>>>>>>
>>>>>>>>>>>> Do you have any example of use?
>>>>>>>>>>>>
>>>>>>>>>>>> Regards
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Em quinta-feira, 14 de janeiro de 2016 11:25:29 UTC-2, Julio
>>>>>>>>>>>> Heitor Nobrega escreveu:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi guys,
>>>>>>>>>>>>>
>>>>>>>>>>>>> i am trying to upload images with 2mb size but i don't want to
>>>>>>>>>>>>> send the whole original image to the server.
>>>>>>>>>>>>>
>>>>>>>>>>>>> What i would like to do is reduce the image dimensions from,
>>>>>>>>>>>>> for example, *1000x1000* to *50x50* and reduce the file size
>>>>>>>>>>>>> from *2mb* to *~25kb* as well and at the end send the *~25kb*
>>>>>>>>>>>>> image to the server.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I know there is the Scalr framework that does that in java,
>>>>>>>>>>>>> but its no compatible with GWT clients.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Is there any client side GWT library that does the same thing
>>>>>>>>>>>>> as Scalr?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Best Regards!
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>> You received this message because you are subscribed to a topic
>>>>>>>>>>> in the Google Groups "GWT Users" group.
>>>>>>>>>>> To unsubscribe from this topic, visit
>>>>>>>>>>> https://groups.google.com/d/topic/google-web-toolkit/8OfazCLtcLA/unsubscribe
>>>>>>>>>>> .
>>>>>>>>>>> To unsubscribe from this group and all its topics, send an email
>>>>>>>>>>> to [email protected].
>>>>>>>>>>> To post to this group, send email to
>>>>>>>>>>> [email protected].
>>>>>>>>>>> Visit this group at
>>>>>>>>>>> https://groups.google.com/group/google-web-toolkit.
>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> --
>>>>>>>> You received this message because you are subscribed to a topic in
>>>>>>>> the Google Groups "GWT Users" group.
>>>>>>>> To unsubscribe from this topic, visit
>>>>>>>> https://groups.google.com/d/topic/google-web-toolkit/8OfazCLtcLA/unsubscribe
>>>>>>>> .
>>>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>>>> [email protected].
>>>>>>>> To post to this group, send email to
>>>>>>>> [email protected].
>>>>>>>> Visit this group at
>>>>>>>> https://groups.google.com/group/google-web-toolkit.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "GWT Users" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To post to this group, send email to
>>>>>> [email protected].
>>>>>> Visit this group at
>>>>>> https://groups.google.com/group/google-web-toolkit.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Alain Ekambi
>>>>>
>>>>> Co-Founder
>>>>>
>>>>> Ahomé Innovation Technologies
>>>>>
>>>>> http://www.ahome-it.com/ <http://ahome-it.com/>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to a topic in the
>>>>> Google Groups "GWT Users" group.
>>>>> To unsubscribe from this topic, visit
>>>>> https://groups.google.com/d/topic/google-web-toolkit/8OfazCLtcLA/unsubscribe
>>>>> .
>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>> [email protected].
>>>>> To post to this group, send email to
>>>>> [email protected].
>>>>> Visit this group at https://groups.google.com/group/google-web-toolkit
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "GWT Users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to
>>>> [email protected].
>>>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> Alain Ekambi
>>>
>>> Co-Founder
>>>
>>> Ahomé Innovation Technologies
>>>
>>> http://www.ahome-it.com/ <http://ahome-it.com/>
>>>
>>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "GWT Users" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/google-web-toolkit/8OfazCLtcLA/unsubscribe
>>> .
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> To post to this group, send email to [email protected]
>>> .
>>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>



-- 

Alain Ekambi

Co-Founder

Ahomé Innovation Technologies

http://www.ahome-it.com/ <http://ahome-it.com/>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to