Save Image from url without getting corrupted in flask application











up vote
-1
down vote

favorite












I'm trying to download image from the url with in the flask application.I'm sending image url as argument to the flask api.



In order to download the image I tried out requests, urllib.request python packages with flask and able to download the image file but image is downloaded corrupted(HTML content is seen inside the file if i remove the jpg extension of saved image).When I tried the open the image its shown as



enter image description here



But when I use requests or urllib.request as normal python code I'm able to download the image with getting corrupted.



enter image description here



html content inside the saved image file



<html lang="en-IN"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Redirect Notice</title><style>body,div,a{font-family:arial,sans-serif}body{background-color:#fff;margin-top:3px}div{color:#000}a:link{color:#00c}a:visited{color:#551a8b}a:active{color:red}div.mymGo{border-top:1px solid #bbb;border-bottom:1px solid #bbb;background:#f2f2f2;margin-top:1em;width:100%}div.aXgaGb{padding:0.5em 0;margin-left:10px}div.fTk7vd{margin-left:35px;margin-top:35px}</style><script nonce="XR9ZVDq/iEK0A9IJNd53Cw==">function go_back(){window.history.go(-1);return false;}function ctu(oi,ct){var link = document && document.referrer;var esc_link = "";var e = window && window.encodeURIComponent ?encodeURIComponent :escape;if (link){esc_link = e(link);}new Image().src = "/url?sa=T&url=" + esc_link + "&oi=" + e(oi)+ "&ct=" + e(ct);return false;}</script></head><body><div class="mymGo"><div class="aXgaGb"><font style="font-size:larger"><b>Redirect Notice</b></font></div></div><div class="fTk7vd">&nbsp;The page you were on is trying to send you to an invalid URL.<br><br>&nbsp;If you do not want to visit that page, you can <a href="#" onclick="return go_back();" onmousedown="ctu('unauthorizedredirect','originlink');">return to the previous page</a>.<br><br><br></div></body></html>


&



HTML Content says that URL is invalid.



Normal python

import urllib.request
urllib.request.urlretrieve("data:image/jpeg;base64,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","/home/local/down.jpg")


Flask view.py code :



This code is able to download the image but the image is corrupted



@app.route("/url", methods=["GET"])
def image_download():

if 'img' in request.args:
Input_url=request.args['img']
file_name="/home/local/down.jpg"
urllib.request.urlretrieve(Input_url,file_name)


I tried the changing the file extension also but no use.



I'm unable to trace out why image is getting corrupted when I'm trying to download using flask.



you help is appreciated and thanks in advance.










share|improve this question
























  • 0x3C,0X68 is the ascii code for <h. You're probably getting HTML. Try to save the "image" and see what's in the file.
    – Jean-François Fabre
    3 hours ago






  • 1




    then you could use spyder (sorry, couldn't resist :))
    – Jean-François Fabre
    3 hours ago










  • I'm already saving it as jpg file (down.jpg) ! if that is wrong way to save the image then I how to save image in image format
    – Dilip Bobby
    3 hours ago










  • I mean: down.jpg contains html. Check the ASCII codes of the error, and my first comment.
    – Jean-François Fabre
    3 hours ago










  • yup, if I remove the jpg then the file is full of html text. I using urllib.request.urlretrieve(Input_url,file_name) same python code which save correct image but it is giving me html if put that line in flask view.py
    – Dilip Bobby
    3 hours ago

















up vote
-1
down vote

favorite












I'm trying to download image from the url with in the flask application.I'm sending image url as argument to the flask api.



In order to download the image I tried out requests, urllib.request python packages with flask and able to download the image file but image is downloaded corrupted(HTML content is seen inside the file if i remove the jpg extension of saved image).When I tried the open the image its shown as



enter image description here



But when I use requests or urllib.request as normal python code I'm able to download the image with getting corrupted.



enter image description here



html content inside the saved image file



<html lang="en-IN"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Redirect Notice</title><style>body,div,a{font-family:arial,sans-serif}body{background-color:#fff;margin-top:3px}div{color:#000}a:link{color:#00c}a:visited{color:#551a8b}a:active{color:red}div.mymGo{border-top:1px solid #bbb;border-bottom:1px solid #bbb;background:#f2f2f2;margin-top:1em;width:100%}div.aXgaGb{padding:0.5em 0;margin-left:10px}div.fTk7vd{margin-left:35px;margin-top:35px}</style><script nonce="XR9ZVDq/iEK0A9IJNd53Cw==">function go_back(){window.history.go(-1);return false;}function ctu(oi,ct){var link = document && document.referrer;var esc_link = "";var e = window && window.encodeURIComponent ?encodeURIComponent :escape;if (link){esc_link = e(link);}new Image().src = "/url?sa=T&url=" + esc_link + "&oi=" + e(oi)+ "&ct=" + e(ct);return false;}</script></head><body><div class="mymGo"><div class="aXgaGb"><font style="font-size:larger"><b>Redirect Notice</b></font></div></div><div class="fTk7vd">&nbsp;The page you were on is trying to send you to an invalid URL.<br><br>&nbsp;If you do not want to visit that page, you can <a href="#" onclick="return go_back();" onmousedown="ctu('unauthorizedredirect','originlink');">return to the previous page</a>.<br><br><br></div></body></html>


&



HTML Content says that URL is invalid.



Normal python

import urllib.request
urllib.request.urlretrieve("data:image/jpeg;base64,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","/home/local/down.jpg")


Flask view.py code :



This code is able to download the image but the image is corrupted



@app.route("/url", methods=["GET"])
def image_download():

if 'img' in request.args:
Input_url=request.args['img']
file_name="/home/local/down.jpg"
urllib.request.urlretrieve(Input_url,file_name)


I tried the changing the file extension also but no use.



I'm unable to trace out why image is getting corrupted when I'm trying to download using flask.



you help is appreciated and thanks in advance.










share|improve this question
























  • 0x3C,0X68 is the ascii code for <h. You're probably getting HTML. Try to save the "image" and see what's in the file.
    – Jean-François Fabre
    3 hours ago






  • 1




    then you could use spyder (sorry, couldn't resist :))
    – Jean-François Fabre
    3 hours ago










  • I'm already saving it as jpg file (down.jpg) ! if that is wrong way to save the image then I how to save image in image format
    – Dilip Bobby
    3 hours ago










  • I mean: down.jpg contains html. Check the ASCII codes of the error, and my first comment.
    – Jean-François Fabre
    3 hours ago










  • yup, if I remove the jpg then the file is full of html text. I using urllib.request.urlretrieve(Input_url,file_name) same python code which save correct image but it is giving me html if put that line in flask view.py
    – Dilip Bobby
    3 hours ago















up vote
-1
down vote

favorite









up vote
-1
down vote

favorite











I'm trying to download image from the url with in the flask application.I'm sending image url as argument to the flask api.



In order to download the image I tried out requests, urllib.request python packages with flask and able to download the image file but image is downloaded corrupted(HTML content is seen inside the file if i remove the jpg extension of saved image).When I tried the open the image its shown as



enter image description here



But when I use requests or urllib.request as normal python code I'm able to download the image with getting corrupted.



enter image description here



html content inside the saved image file



<html lang="en-IN"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Redirect Notice</title><style>body,div,a{font-family:arial,sans-serif}body{background-color:#fff;margin-top:3px}div{color:#000}a:link{color:#00c}a:visited{color:#551a8b}a:active{color:red}div.mymGo{border-top:1px solid #bbb;border-bottom:1px solid #bbb;background:#f2f2f2;margin-top:1em;width:100%}div.aXgaGb{padding:0.5em 0;margin-left:10px}div.fTk7vd{margin-left:35px;margin-top:35px}</style><script nonce="XR9ZVDq/iEK0A9IJNd53Cw==">function go_back(){window.history.go(-1);return false;}function ctu(oi,ct){var link = document && document.referrer;var esc_link = "";var e = window && window.encodeURIComponent ?encodeURIComponent :escape;if (link){esc_link = e(link);}new Image().src = "/url?sa=T&url=" + esc_link + "&oi=" + e(oi)+ "&ct=" + e(ct);return false;}</script></head><body><div class="mymGo"><div class="aXgaGb"><font style="font-size:larger"><b>Redirect Notice</b></font></div></div><div class="fTk7vd">&nbsp;The page you were on is trying to send you to an invalid URL.<br><br>&nbsp;If you do not want to visit that page, you can <a href="#" onclick="return go_back();" onmousedown="ctu('unauthorizedredirect','originlink');">return to the previous page</a>.<br><br><br></div></body></html>


&



HTML Content says that URL is invalid.



Normal python

import urllib.request
urllib.request.urlretrieve("data:image/jpeg;base64,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","/home/local/down.jpg")


Flask view.py code :



This code is able to download the image but the image is corrupted



@app.route("/url", methods=["GET"])
def image_download():

if 'img' in request.args:
Input_url=request.args['img']
file_name="/home/local/down.jpg"
urllib.request.urlretrieve(Input_url,file_name)


I tried the changing the file extension also but no use.



I'm unable to trace out why image is getting corrupted when I'm trying to download using flask.



you help is appreciated and thanks in advance.










share|improve this question















I'm trying to download image from the url with in the flask application.I'm sending image url as argument to the flask api.



In order to download the image I tried out requests, urllib.request python packages with flask and able to download the image file but image is downloaded corrupted(HTML content is seen inside the file if i remove the jpg extension of saved image).When I tried the open the image its shown as



enter image description here



But when I use requests or urllib.request as normal python code I'm able to download the image with getting corrupted.



enter image description here



html content inside the saved image file



<html lang="en-IN"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Redirect Notice</title><style>body,div,a{font-family:arial,sans-serif}body{background-color:#fff;margin-top:3px}div{color:#000}a:link{color:#00c}a:visited{color:#551a8b}a:active{color:red}div.mymGo{border-top:1px solid #bbb;border-bottom:1px solid #bbb;background:#f2f2f2;margin-top:1em;width:100%}div.aXgaGb{padding:0.5em 0;margin-left:10px}div.fTk7vd{margin-left:35px;margin-top:35px}</style><script nonce="XR9ZVDq/iEK0A9IJNd53Cw==">function go_back(){window.history.go(-1);return false;}function ctu(oi,ct){var link = document && document.referrer;var esc_link = "";var e = window && window.encodeURIComponent ?encodeURIComponent :escape;if (link){esc_link = e(link);}new Image().src = "/url?sa=T&url=" + esc_link + "&oi=" + e(oi)+ "&ct=" + e(ct);return false;}</script></head><body><div class="mymGo"><div class="aXgaGb"><font style="font-size:larger"><b>Redirect Notice</b></font></div></div><div class="fTk7vd">&nbsp;The page you were on is trying to send you to an invalid URL.<br><br>&nbsp;If you do not want to visit that page, you can <a href="#" onclick="return go_back();" onmousedown="ctu('unauthorizedredirect','originlink');">return to the previous page</a>.<br><br><br></div></body></html>


&



HTML Content says that URL is invalid.



Normal python

import urllib.request
urllib.request.urlretrieve("data:image/jpeg;base64,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","/home/local/down.jpg")


Flask view.py code :



This code is able to download the image but the image is corrupted



@app.route("/url", methods=["GET"])
def image_download():

if 'img' in request.args:
Input_url=request.args['img']
file_name="/home/local/down.jpg"
urllib.request.urlretrieve(Input_url,file_name)


I tried the changing the file extension also but no use.



I'm unable to trace out why image is getting corrupted when I'm trying to download using flask.



you help is appreciated and thanks in advance.







python-3.x image flask flask-restful






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 2 hours ago

























asked 3 hours ago









Dilip Bobby

161314




161314












  • 0x3C,0X68 is the ascii code for <h. You're probably getting HTML. Try to save the "image" and see what's in the file.
    – Jean-François Fabre
    3 hours ago






  • 1




    then you could use spyder (sorry, couldn't resist :))
    – Jean-François Fabre
    3 hours ago










  • I'm already saving it as jpg file (down.jpg) ! if that is wrong way to save the image then I how to save image in image format
    – Dilip Bobby
    3 hours ago










  • I mean: down.jpg contains html. Check the ASCII codes of the error, and my first comment.
    – Jean-François Fabre
    3 hours ago










  • yup, if I remove the jpg then the file is full of html text. I using urllib.request.urlretrieve(Input_url,file_name) same python code which save correct image but it is giving me html if put that line in flask view.py
    – Dilip Bobby
    3 hours ago




















  • 0x3C,0X68 is the ascii code for <h. You're probably getting HTML. Try to save the "image" and see what's in the file.
    – Jean-François Fabre
    3 hours ago






  • 1




    then you could use spyder (sorry, couldn't resist :))
    – Jean-François Fabre
    3 hours ago










  • I'm already saving it as jpg file (down.jpg) ! if that is wrong way to save the image then I how to save image in image format
    – Dilip Bobby
    3 hours ago










  • I mean: down.jpg contains html. Check the ASCII codes of the error, and my first comment.
    – Jean-François Fabre
    3 hours ago










  • yup, if I remove the jpg then the file is full of html text. I using urllib.request.urlretrieve(Input_url,file_name) same python code which save correct image but it is giving me html if put that line in flask view.py
    – Dilip Bobby
    3 hours ago


















0x3C,0X68 is the ascii code for <h. You're probably getting HTML. Try to save the "image" and see what's in the file.
– Jean-François Fabre
3 hours ago




0x3C,0X68 is the ascii code for <h. You're probably getting HTML. Try to save the "image" and see what's in the file.
– Jean-François Fabre
3 hours ago




1




1




then you could use spyder (sorry, couldn't resist :))
– Jean-François Fabre
3 hours ago




then you could use spyder (sorry, couldn't resist :))
– Jean-François Fabre
3 hours ago












I'm already saving it as jpg file (down.jpg) ! if that is wrong way to save the image then I how to save image in image format
– Dilip Bobby
3 hours ago




I'm already saving it as jpg file (down.jpg) ! if that is wrong way to save the image then I how to save image in image format
– Dilip Bobby
3 hours ago












I mean: down.jpg contains html. Check the ASCII codes of the error, and my first comment.
– Jean-François Fabre
3 hours ago




I mean: down.jpg contains html. Check the ASCII codes of the error, and my first comment.
– Jean-François Fabre
3 hours ago












yup, if I remove the jpg then the file is full of html text. I using urllib.request.urlretrieve(Input_url,file_name) same python code which save correct image but it is giving me html if put that line in flask view.py
– Dilip Bobby
3 hours ago






yup, if I remove the jpg then the file is full of html text. I using urllib.request.urlretrieve(Input_url,file_name) same python code which save correct image but it is giving me html if put that line in flask view.py
– Dilip Bobby
3 hours ago



















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53400791%2fsave-image-from-url-without-getting-corrupted-in-flask-application%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53400791%2fsave-image-from-url-without-getting-corrupted-in-flask-application%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Sphinx de Gizeh

Dijon

Langue