Dünden beri kodlanmış base64 görüntüsünü diğer bir görünümde belirli bir görünümden nasıl kullanabileceğimi anlamaya çalışıyorum.Python flask ajax görüntü al - son DÜZENLEME meselesi
Orijinal görüntüsü olan form.company_logo_image_path.data
sayfamı yeniden boyutlandırılan yeni resimle değiştirmem gerekiyor. Yeniden boyutlandırılan yeni görüntü AJAX ile yeni bir görünüme gönderilir.
benim AJAX:
@app.route('/profil/unternehmen-bearbeiten/resize-image', methods=["POST"])
def resize_image():
data_url = request.values['a']
content = data_url.split(';')[1]
image_encoded = content.split(',')[1]
body = base64.decodestring(image_encoded.encode('utf-8'))
return body
Ben bir klasöre görüntü kaydederek bu test:
var dataurl = canvas.toDataURL("image/png");
$.ajax({
type: "POST",
url: "/profil/unternehmen-bearbeiten/resize-image",
data:{
a: dataurl
}
}).done(function() {
console.log('sent');
});
Ben görüntü
body
değişkende deşifre ve depolanan yeni bir görünüm yarattı yerel makinem ve bu sayede vücut değişkeni yeniden boyutlandırılan görüntüyü doğru şekilde kaydediyordu.
Şimdi bunun AWS3 yüklenecektir bir diğer görüşe gönderilecek bu resim ihtiyacım var ve form.company_logo_image_path.data
yerine bu resim kullanacağız:
@app.route('/profil/unternehmen-bearbeiten', methods=["GET", "POST"])
@login_required
@check_confirmed
def edit_company():
the_company = Company.query.filter_by(users_id=current_user.id).first()
form = EditCompanyForm(obj=the_company)
used_file = the_company.company_logo_image_path
if form.validate_on_submit():
form.populate_obj(the_company)
imagedata = resize_image()
print "The", imagedata
if form.company_logo_image_path.data:
upload_image_to_aws('baubedarf', "userimages/", form.company_logo_image_path, the_company,'company_logo_image_path', the_company.company_name)
# ...
Buradaki sorun bir
Bad Request
sitesini eğer almak olduğunu
İlk görünümden resize_image
işlevinin sonucuna erişmeye çalışıyorum. Yeni Görüntüye nasıl erişebilirim? İşte benim ilerleme ile benim eski soru
Dünden beri bu sorun üzerinde çalışıyorum ve şimdiye kadar şimdiye kadar en büyük sorunu olduğunu: Old question with my progress and tries
DÜZENLEME
It Ne denediğim önemli değil, "/profil/unternehmen-bearbeiten"
'a göndermek de kötü bir istek hatasıyla sonuçlanır.
veriler isteniyor a
yerde kötü bir talebi getirir:
try:
print request.values['a']
except Exception as e:
print "error", e
burada İstisna
Ayrıca kendisi kötü bir talebi getirir tuvali talebinde bozuk istek, tarayıcı doesnt konsoldur Bana kullanabileceğim/anlayabileceğim yararlı bir şey söyle. Sonunda bazı ciddi yapılmıştry:
print request.form['uploading_canvas']
except Exception as e:
print "error 1", e
EDIT: Eclipse konsolunda gibi onun aynı, ben göndermek için denemek rotasında 400 Bad Request alır ilerleme! Verileri if form.validate_on_submit():
numaralı telefondan talep etmeye çalışıyordum. Kodu şimdi if form.validate_on_submit():
'un dışına koydum ve şimdi veriyi isteyebilirim, hala sorun yaşıyorum, ama buradan çalışmaya devam edebilirim!
if request.method == 'POST':
print "post"
file_data = request.values['a']
imagedata = resize_image(file_data)
print "The", type(imagedata)
if form.validate_on_submit():
# ...
Yine burada bir Kötü İstek alıyorum, ancak şimdi neden anlıyorum. form.validate_on_submit():
'un kendisi bir POST isteğidir, bu yüzden doğruysa koşuluma ihtiyacım var ve işe yarayacak (sanırım).
Temelde sorun şu: Benim ajax isteği ve ben hem POST
isteklerdir için gönderiyorum rotada form.validate_on_submit():
bu kadar sık Bad Request alıyorum neden olduğu bir uyuşmazlık olması vardır. Özel form onay kutusunu oluşturmaya çalışıyordum. Kodları hareket ettirmeye çalışıyordum ve şartlar farklı. Sadece anlamadım.
Benim son çalışır:
"""
if form.company_check_it.data == True:
print "post 1"
file_data = request.values['a']
imagedata = resize_image(file_data)
print "The", type(imagedata)
else:
print "post 3"
"""
"""
if request.method == 'POST':
print "post"
file_data = request.values['a']
imagedata = resize_image(file_data)
print "The", type(imagedata)
"""
if form.validate_on_submit():
print "post 2"
"""
if form.company_check_it.data == True:
print "post 1"
file_data = request.values['a']
imagedata = resize_image(file_data)
print "The", type(imagedata)
else:
print "post 3"
"""
if request.method == 'POST':
print "post"
file_data = request.values['a']
imagedata = resize_image(file_data)
print "The", type(imagedata)
form.populate_obj(the_company)
"""
data_url = request.values['a']
print data_url
content = data_url.split(';')[1]
image_encoded = content.split(',')[1]
body = base64.decodestring(image_encoded.encode('utf-8'))
print type(body)
"""
burada kod snippet'lere çıkışlarını gönderebilir miyim index.html /? –
"Yazdır", "imagedata" yazdırılıyor mu? –
print "The", imagedata hiçbir şey vermez, tahmin etmeden önce başarısız olur, Bad Request – Roman