Не нужно FileReader *, лучше использовать метод URL.createObjectURL , который создаст символическую ссылку непосредственно в файл на диске. Это приведет к меньшему использованию памяти и даст дополнительное преимущество для ожидания только одного асинхронного события (один из img.onload
).
document.getElementById('inp').onchange = function(e) {
var img = new Image();
img.onload = draw;
img.onerror = failed;
img.src = URL.createObjectURL(this.files[0]);
};
function draw() {
var canvas = document.getElementById('canvas');
canvas.width = this.width;
canvas.height = this.height;
var ctx = canvas.getContext('2d');
ctx.drawImage(this, 0,0);
}
function failed() {
console.error("The provided file couldn't be loaded as an Image media");
}
* IIRC только несколько версий Chrome поддерживали FileReader, еще не поддерживая URL.createObejctURL, поэтому, если вы нацеливаете эти самые версии, вам может понадобиться FileReader ..
Я успешно развернул приложение. Мне нужно было сделать три вещи:
фабрика приложений теперь это ...
...
from myapp.view import auth
app.register_blueprint(auth.bp)
from myapp.view import module1
app.register_blueprint(module1.bp)
app.add_url_rule("/", endpoint="index")
from myapp.view import api
app.register_blueprint(api.bp)
return app
if __name__ == "__main__":
app = create_app()
app.run()
/var/www/app_name/code/passenger_wsgi.py файл выглядит следующим образом
from nwpapp import create_app
application = create_app()
Я не использовал виртуальную среду. по умолчанию вызывается python2.7. Мне пришлось установить альтернативы и сделать Python3.6 по умолчанию. Обязательно запустите правильную версию pip для установки ваших зависимостей.