def uploadfile(): """Função simplificada para upload de arquivo para um Evento.""" db_session = current_app.config['db_session'] usecase = create_usecases() try: file = request.files.get('file') IDEvento = request.form.get('IDEvento') tipoevento = request.form.get('tipoevento') nomearquivo = request.form.get('nomearquivo') tipoanexo = request.form.get('tipoanexo') validfile, mensagem = usecase.valid_file(file) if not validfile: return jsonify(_response(mensagem, 400)), 400 aclass = getattr(orm, tipoevento) evento = db_session.query(aclass).filter( aclass.IDEvento == IDEvento).one_or_none() if evento is None: return jsonify(_response('Evento não encontrado.', 404)), 404 db_session.add(evento) oanexo = UseCases.get_anexo(evento, nomearquivo) if oanexo is None: classeanexo = getattr(orm, tipoanexo) oanexo = classeanexo.create(evento) basepath = current_app.config.get('UPLOAD_FOLDER') oanexo.save_file(basepath, file.read(), file.filename) db_session.add(oanexo) return jsonify(_commit(evento)), 201 except Exception as err: logger.error(str(err), exc_info=True) return jsonify(_response(err, 400)), 400
def getfile(): db_session = current_app.config['db_session'] try: IDEvento = request.form.get('IDEvento') tipoevento = request.form.get('tipoevento') nomearquivo = request.form.get('nomearquivo') if not tipoevento: raise Exception('Parâmetro tipoevento é obrigatório.') try: aclass = getattr(orm, tipoevento) except AttributeError: raise AttributeError('tipoevento "%s" não existente' % tipoevento) except TypeError: raise AttributeError('tipoevento "%s": erro ao processar parâmetro' % tipoevento) evento = db_session.query(aclass).filter( aclass.IDEvento == IDEvento ).one_or_none() if evento is None: return jsonify(_response('Evento não encontrado.', 404)), 404 oanexo = UseCases.get_anexo(evento, nomearquivo) basepath = current_app.config.get('UPLOAD_FOLDER') oanexo.load_file(basepath) print(oanexo.content) return Response(response=oanexo.content, mimetype=oanexo.contentType ), 200 except Exception as err: logging.error(err, exc_info=True) return jsonify(_response(err, 400)), 400
def getfile(): db_session = current_app.config['db_session'] try: IDEvento = request.form.get('IDEvento') tipoevento = request.form.get('tipoevento') nomearquivo = request.form.get('nomearquivo') aclass = getattr(orm, tipoevento) evento = db_session.query(aclass).filter( aclass.IDEvento == IDEvento).one_or_none() if evento is None: return jsonify(_response('Evento não encontrado.', 404)), 404 oanexo = UseCases.get_anexo(evento, nomearquivo) basepath = current_app.config.get('UPLOAD_FOLDER') oanexo.load_file(basepath) print(oanexo.content) return Response(response=oanexo.content, mimetype=oanexo.contentType), 200 except Exception as err: logging.error(err, exc_info=True) return jsonify(_response(err, 400)), 400