def upload():
    if request.method == 'GET':
        return render_template('upload.html')
    else:
        # desc = request.form.get('desc')
        # image_file = request.files.get('image_file')
        # # print(image_file)
        # # print(type(image_file))
        # # 参数:路径 文件名
        # # images 1.jpg 木马文件  jpg png gig
        # # 验证问题 重命名问题 文件名字+日期+随机数 uuid
        # # image_file.save(upload_path, image_file.filename)
        # filename = secure_filename(image_file.filename)
        # image_file.save(os.path.join("images", filename))
        # CombinedMultiDict 可以传入多个参数
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        if form.validate():
            # desc = request.form.get('desc')
            # image_file = request.files.get('image_file')
            desc = form.desc.data
            image_file = form.image_file.data
            filename = secure_filename(image_file.filename)
            image_file.save(os.path.join("images", filename))
            return '文件上传成功'
        else:
            print(form.errors)
            return "fail"
Exemple #2
0
def upload_file():
    form = UploadForm()

    if request.method == "POST":
        if form.validate() == False:
            flash("All fields are required.")
            return render_template("upload.html", form=form)
        else:
            file = request.files["filename"]
            if file and allowed_file(file.filename):
                filename = secure_filename(file.filename)
                file.save(os.path.join(app.config["UPLOAD_FOLDER"], filename))
                msg = Message(form.subject.data, sender="*****@*****.**", recipients=["*****@*****.**"])
                msg.body = """
                From: %s <%s>
                Subject: %s
                PeakCaller: %s
                SupplementalInfo: %s
                File Name: %s
                """ % (
                    form.name.data,
                    form.email.data,
                    form.subject.data,
                    form.peakcaller.data,
                    form.supplementalinfo.data,
                    filename,
                )
                mail.send(msg)
                return redirect(url_for("uploaded_file", filename=filename))
    elif request.method == "GET":
        return render_template("upload.html", form=form)
Exemple #3
0
def upload():
    form = UploadForm()
    if form.validate():
        if form.title.data == "":
            flash("Must include title")
            return redirect(request.referrer + "#add_form")
        filename = secure_filename(form.photo.data.filename)
        pos = filename.rfind('.')
        #flash(str(filename[pos + 1: ] in ALLOWED_EXTENSIONS))
        if pos < 0 or (pos >= 0 and (not filename[pos + 1 : ] in ALLOWED_EXTENSIONS)):
            flash("Error: Invalid extension, pleases use jpg or png")
            return redirect(request.referrer + '#add_form')
        form.photo.file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        pin = Pin(title=form.title.data,
                  img=filename,
                  dscrp=form.dscrp.data,
                  orig=True,
                  date=datetime.now(),
                  pinner=current_user.to_dbref(),
                  repins=0,
                  like_count=0)
        pin.save()
        flash("Image has been uploaded.")
    else:
        flash("Image upload error.")
    return redirect(request.referrer + "#add_form" or url_for("index"))
Exemple #4
0
def index():
    subtitle = "Transfer books to Internet Archive"
    form = UploadForm(request.form)
    if request.method == "POST":
        if form.validate():
            book_id = html_escape(form.book_id.data)
            email = html_escape(form.email.data) if form.email.data not in (None, "") else ""
            book = bridge.fields(form.library_id.data, book_id, email)
            book_id = book.Id if book.Id not in (None, "") else book_id
            redis = redis_py.Redis()
            redis_key3 = keys.redis_key3
            book_key = "%s:%s:%s" % (redis_key3, form.library_id.data, book_id)
            library_url_key = book_key + ":library_url"
            redis_py.set(library_url_key, form.book_id.data, True)
            redis.expire(library_url_key, 60 * 15)
            verification_status_no = book.verify_fields()
            if verification_status_no != 0:
                flash(error_msg(verification_status_no, book))
                return render_template("index.html", subtitle=subtitle, libraries=libraries, form=form)
            else:
                if redundant_request(book) == True:
                    flash(error_msg(50))
                    return render_template("index.html", subtitle=subtitle, libraries=libraries, form=form)
                book_info = bridge.book_info(form.library_id.data, book_id)
                if isinstance(book_info, (int, long, float, complex)):
                    flash(error_msg(book_info))
                    return render_template("index.html", subtitle=subtitle, libraries=libraries, form=form)
                confirm_resp = make_response(minify(render_template("confirm.html", book_info=book_info, form=form)))
                uuid = urandom(32).encode("hex")
                confirm_resp.set_cookie("bub_session", uuid)
                store_request(book, uuid)
                return confirm_resp
        return render_template("index.html", subtitle=subtitle, libraries=libraries, form=form)
    else:
        return render_template("index.html", subtitle=subtitle, libraries=libraries, form=form)
Exemple #5
0
def upload():
    form = UploadForm()
    if request.method == 'POST' and form.validate():
        g.user.avatar = form.uri.data
        db_session.add(g.user.avatar)
        db_session.commit()
        return redirect(url_for("home", username=g.user.username))
    return render_template("upload.html", form=form, user=g.user)
Exemple #6
0
def index():
    subtitle = "Transfer books to Internet Archive"
    form = UploadForm(request.form)
    if request.method == 'POST':
        if form.validate():
            book_id = html_escape(form.book_id.data)
            email = html_escape(
                form.email.data) if form.email.data not in (None, "") else ""
            book = bridge.fields(form.library_id.data, book_id, email)
            book_id = book.Id if book.Id not in (None, "") else book_id
            redis = redis_py.Redis()
            redis_key3 = keys.redis_key3
            book_key = "%s:%s:%s" % (redis_key3, form.library_id.data, book_id)
            library_url_key = book_key + ":library_url"
            redis_py.set(library_url_key, form.book_id.data, True)
            redis.expire(library_url_key, 60 * 15)
            verification_status_no = book.verify_fields()
            if verification_status_no != 0:
                flash(error_msg(verification_status_no, book))
                return render_template("index.html",
                                       subtitle=subtitle,
                                       libraries=libraries,
                                       form=form)
            else:
                if redundant_request(book) == True:
                    flash(error_msg(50))
                    return render_template("index.html",
                                           subtitle=subtitle,
                                           libraries=libraries,
                                           form=form)
                book_info = bridge.book_info(form.library_id.data, book_id)
                if isinstance(book_info, (int, long, float, complex)):
                    flash(error_msg(book_info))
                    return render_template("index.html",
                                           subtitle=subtitle,
                                           libraries=libraries,
                                           form=form)
                confirm_resp = make_response(
                    minify(
                        render_template("confirm.html",
                                        book_info=book_info,
                                        form=form)))
                uuid = urandom(32).encode("hex")
                confirm_resp.set_cookie('bub_session', uuid)
                store_request(book, uuid)
                return confirm_resp
        return render_template("index.html",
                               subtitle=subtitle,
                               libraries=libraries,
                               form=form)
    else:
        return render_template("index.html",
                               subtitle=subtitle,
                               libraries=libraries,
                               form=form)
Exemple #7
0
def upload():
    form = UploadForm()

    if request.method == "POST":
        form = UploadForm(request.form)
        if form.validate():
            filename = secure_filename(form.img.file.filename)
            filename.save(os.path.join(UPLOAD_FOLDER, filename))
            flash(ocr(filename))
        else:
            flash("Invalid filename. Please choose another.")

    return render_template("base.html", form=form) 
Exemple #8
0
def upload():
    form = UploadForm()

    if request.method == "POST":
        form = UploadForm(request.form)
        if form.validate():
            filename = secure_filename(form.img.file.filename)
            filename.save(os.path.join(UPLOAD_FOLDER, filename))
            flash(ocr(filename))
        else:
            flash("Invalid filename. Please choose another.")

    return render_template("base.html", form=form)
Exemple #9
0
def uploadFile():
    if request.method == 'GET':
        return render_template('upload.html')
    else:
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        if form.validate():
            desc = request.form.get('desc')
            avatar = request.files.get('avatar')
            filename = secure_filename(avatar.filename)
            avatar.save(os.path.join(UPLOAD_PATH, avatar.filename))
            return '文件上传成功!!!'
        else:
            print(form.errors)
            return 'Failed!!'
def upload():
    if request.method == 'GET':
        return render_template('flask_upload_file.html')
    else:
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        if form.validate():
            avatar = request.files.get('avatar')
            desc = request.form.get('desc')
            avatar.save(os.path.join(UPLOAD_PATH, avatar.filename))
            print(desc)
            return '上传成功'
        else:
            print(form.errors)
            return 'fail'
Exemple #11
0
def upload():
    if request.method == 'GET':
        return render_template('index.html')
    else:
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        if form.validate():
            desc = form.desc.data
            avator = form.avator.data
            filename = secure_filename(avator.filename)
            avator.save(os.path.join(UNLOAD_PATH, filename))
            print(desc)
            return '上传成功'
        else:
            print(form.error)
            return 'fail'
Exemple #12
0
def admin_adverupload():
    if session.get('user_id'):
        form = UploadForm()
        if request.method == 'POST' and form.validate():
            file = request.files['file'].read()
            file_name = flask.request.form.get('title')
            advertisment_file = AdvertisementModel(picture_name=file_name,
                                                   picture=file)
            db.session.add(advertisment_file)
            db.session.commit()
            return u'发布成功!'
        else:
            return render_template(url_for(admin_advertisement))
    else:
        return redirect(url_for('admin_login'))
Exemple #13
0
def Upload():
    if request.method == "GET":
        return render_template("upload_file.html")
    else:
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        if form.validate():
            desc = request.form.get('desc')  #获取描述信息
            avatar = request.files.get('avatar')
            filename = secure_filename(avatar.filename)
            avatar.save(os.path.join(UPLOAD_PATH, filename))
            print(desc)
            return "文件上传成功"
        else:
            print(form.errors)
            return "Failed"
Exemple #14
0
def upload():
    error = None
    if not session.get('logged_in'):
        abort(401)
    form = UploadForm()
    # Validate file upload on submit
    if request.method == 'POST':
        if form.validate() == False:
            flash_errors(form)
        else:
            file = form.upload.data
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            flash('File Saved', 'success')
            return redirect(url_for('home', error=error))
    return render_template('upload.html', form=form, error=error)
Exemple #15
0
def upload():
    if request.method == "GET":
        return render_template('upload.html')
    else:
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        if form.validate():
            # 获取描述信息
            desc = request.form.get('desc')
            avatar = request.files.get('avatar')
            # 用于检验文件名,保证安全性, 消除安全隐患
            filename = secure_filename(avatar.filename)
            avatar.save(os.path.join(UPLOAD_PATH, filename))
            print(desc)
            return "文件上传成功!"
        else:
            print(form.errors)
            return "Upload Fail!"
Exemple #16
0
def settings():
    if request.method == 'GET':
        return render_template('upload.html')
    else:
        # 从request,files里面获取文件,这里使用CombinedMultiDict把form和file的数据组合起来,一起验证
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        if form.validate():
            desc = request.form.get('desc')
            avatar = request.files.get('avatar')
            # 对文件名进行包装
            filename = secure_filename(avatar.filename)
            avatar.save(os.path.join(UPLOAD_PATH, filename))
            print(desc)
            return '文件上传成功'
        else:
            print(form.errors)
            return "fail"
def upload():
    if request.method == 'GET':
        return render_template('upload.html')
    else:
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        if form.validate():
            # 获取描述信息
            # desc = request.form.get("desc")
            # avatar = request.files.get("avatar")
            desc = form.desc.data
            avatar = form.avatar.data
            filename = secure_filename(avatar.filename)
            avatar.save(os.path.join(UPLOAD_PATH, filename))
            print(desc)
            return '文件上传成功'
        else:
            print(form.errors)
            return "fail"
Exemple #18
0
def upload():
    if request.method == "GET":
        return render_template('index.html')
    else:
        # request.form.get('desc')
        # request.files.get('avator')
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        if form.validate():
            desc = form.desc.data
            avator = form.avator.data
            #avator表示上传过来的文件的名字
            #secure_filename用它来堆上传文件的名字 进行安全过滤
            filename = secure_filename(avator.filename)
            avator.save(os.path.join(UPLOAD_PATH, filename))
            print(desc)
            return '上传成功'
        else:
            print(form.errors)
            return 'fail'
Exemple #19
0
def upload():
    if request.method == 'GET':
        return render_template('upload.html')
    else:
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        # 获取描述信息
        if form.validate():
            desc = request.form.get('desc')
            avatar = request.files.get('avatar')

            filename = secure_filename(avatar.filename)
            avatar.save(os.path.join(UPLOAD_PATH, filename))
            print(desc)

            return 'success'
        else:
            pass

        return 'fail'
Exemple #20
0
def upload():
    if request.method == 'GET':
        return render_template('upload.html')
    else:
        # desc = request.form.get('desc')
        # image_file = request.files.get('image_file')
        # filename = secure_filename(image_file.filename)
        # image_file.save(os.path.join('images', filename))
        # return '文件保存成功'
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        print(form)
        if form.validate():
            desc = request.form.get('desc')
            image_file = request.files.get('image_file')
            filename = secure_filename(image_file.filename)
            image_file.save(os.path.join('images', filename))
            return '文件保存成功'
        else:
            print(form.errors)
            return '文件格式不正確'
Exemple #21
0
def hello_world():
    if request.method == 'GET':
        return render_template('upload.html')
    else:
        if not path.exists(UPLOAD_PATH):
            os.mkdir(UPLOAD_PATH)
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        if form.validate():
            f = request.files['file']
            filename = secure_filename(f.filename)  # 会丢失中文名字
            ext = filename.rsplit('.')[-1]
            print(ext)
            # ext = filename.rsplit('.', 1)[1]
            # unix_time = int(time.time())
            # new_filename = str(unix_time) + '.' + ext
            # file_url = UPLOAD_PATH + new_filename
            file_url = UPLOAD_PATH + filename
            f.save(file_url)
            return 'upload success'
        else:
            return '不支持问格式文件!'
Exemple #22
0
def upload():
    if request.method == "GET":
        return render_template('upload.html')
    else:
        # CombinedMultiDict 整合 描述 与 文件信息,在UploadForm 中对比过滤
        form = UploadForm(CombinedMultiDict([request.form, request.files]))
        if form.validate():
            # 获取描述信息
            # desc = request.form.get('desc')
            # 图片文件信息
            # avatar = request.files.get('avatar')
            # 过滤用户名是否安全
            # 另一种获取表单的方式
            desc = form.desc.data
            avatar = form.avatar.data
            filename = secure_filename(avatar.filename)
            avatar.save(os.path.join(UPLOAD_PATH, filename))
            print(desc)
            return '文件上传成功'
        else:
            print(form.errors)
            return 'fail'
Exemple #23
0
def upload():
    form = UploadForm(request.form)
    if request.method == 'POST' and form.validate() and current_user.is_authenticated():
	image = request.files['image']
	if image:
	    filename = secure_filename(image.filename)
	    filename, ext = filename.split('.', 1)
	    if ext not in IMG_EXTS:
		return redirect(url_for('upload'))
	    timestamp = cleanTime(str(datetime.utcnow()))
	    filename = filename + timestamp + '.' + ext
	    image_data = request.files[image.name].read()
	    open(os.path.join(app.config['UPLOAD_FOLDER'], filename), 'w').write(image_data)
	    flash('You have uploaded a file')
	    if form.maxColors.data:
		patternfile, across, tall = processImage(filename, form.stitches.data, form.maxColors.data)
		colors = form.maxColors.data
	    else:
		patternfile, across, tall = processImage(filename, form.stitches.data)
		colors = 256
	    os.remove(UPLOAD_FOLDER + filename)
	    patternsave = url_for('static', filename=patternfile)
	    project = Project(session.get('user_id'), patternsave, form.title.data, form.public.data, across, tall, colors) 
	    db_session.add(project)
	    db_session.commit()
	    tags = form.tags.data
	    if tags:
		tags = tags.split(',')
		for tag in tags:
		    if tag != '':
			tag = Tag(tag.strip(), project.id)
			db_session.add(tag)
		db_session.commit()
	    return redirect(url_for('project', pid=project.id))
	return redirect(url_for('index.html'))
    return render_template('upload.html', form = form)
Exemple #24
0
def upload():
    if User.sessionCreatedAt(session.get('_cu', None)):
        form = UploadForm()
        if request.method == 'POST':
            if form.validate() == False:
                flash('Validation Failed!')
                return redirect(url_for('upload'))
            else:
                image = form.photo.data
                try:
                    img = Image.open(image)
                    img.verify()

                except (IOError, SyntaxError):
                    flash('Image is not Valid!')

                else:
                    img = Image.open(image)
                    buffered = BytesIO()
                    img.save(buffered,
                             format="JPEG",
                             optimize=True,
                             quality=75)
                    fileObj = buffered.getvalue()
                    encodedImg = base64.b64encode(fileObj).decode()

                    # compressing image for API
                    size = img.size
                    img.resize((size[0] // 10, size[1] // 10), Image.ANTIALIAS)
                    img.save(buffered,
                             format="JPEG",
                             optimize=True,
                             quality=75)
                    fileObj = buffered.getvalue()

                    tags, api_data = Hashtags(fileObj)
                    min_score = api_data['keywords'][9][
                        'score']  # 10th highest score
                    cats = [
                        i.get('keyword').lower() for i in api_data['keywords']
                        if i.get('score') >= min_score
                    ]
                    tags = [i.lower() for i in tags]

                    img_id = str(uuid4().hex)[::-1]
                    User.uploadImage(session.get('_cu'),
                                     categories=cats,
                                     image=encodedImg,
                                     description=form.description.data,
                                     hashtags=tags,
                                     img_id=img_id)
                    del img
                    del fileObj
                    flash('Image Uploaded Successfully!')
                    return redirect(f'/post/{img_id}', 302)

        elif request.method == 'GET':
            return render_template('upload.html', form=form)

    else:
        if session.get('_cu'):
            flash('Invalid Session Cookies..')
            flash('Please Login Again..')
            session.pop('_cu', None)
        else:
            flash('You are not Logged In!')
            flash('Please Login to Upload a Picture!')
        return redirect(url_for('login'))