Ejemplo n.º 1
0
def allowed_file(filename):
    ALLOWED_EXTENSION = [
        'jpg', 'jpeg', 'png', 'gif', 'doc', 'docx', 'xls', 'xlsx', 'ppt',
        'pptx', 'pdf', 'csv'
    ]
    return '.' in filename and \
        filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSION
Ejemplo n.º 2
0
def upload():
    if request.method == 'GET':
        return render_template('upload.html')
    elif request.method == 'POST':
        f = request.files['file']
        if f and uploadfile.checkfilename(f.filename):
            filename = secure_filename(f.filename)
            if filename.rsplit('.', 1)[1] == 'ino':
                ip = request.remote_addr
                inoname = encode.md5(ip)
                cmd.initproject(inoname)
                inodir = dir.getinodir1(inoname)
                f.save(os.path.join(inodir, 'sketch.ino'))
                cmd.buildproject(inoname)
                hexdir = str(dir.gethexdir(inoname))
                return "Your project is building, your client plugin will automatic download \
                it when build success!</br> Click \
                <a href='http://tickrobot.duapp.com/mblockly/blockly/apps/mixly/index.html'>Here</a> \
                to comeback.</br> or you can download the hex file <a href = " + hexdir + ">here</a>"
            else:
                f.save(os.path.join(UPLOAD_FOLDER, filename))
                return 'upload File ' + filename + ' success!'
        else:
            return "Filename Forbidden! You are uploading a danger file!"
Ejemplo n.º 3
0
def __allowed_file(filename):
    
    return '.' in filename and filename.rsplit('.', 1)[-1].lower() in ALLOWED_EXTENSIONS
def allowed_file(filename):
    return ('.' in filename
            and filename.rsplit('.', 1)[1] in ALLOWED_IMAGE_EXTENSIONS)
def allowed_file(filename):
    return (
        '.' in filename and
        filename.rsplit('.', 1)[1] in ALLOWED_IMAGE_EXTENSIONS
    )
Ejemplo n.º 6
0
def handle_file():
    if not 'userToken' in session:
        session['error'] = 'Must Login To Access Homepage'
        return redirect('/login')

    token_doc = mongo.db.User_Tokens.find_one({
        'sessionHash':
        session['userToken'],
    })
    if token_doc is None:
        session.pop('userToken', None)
        session['error'] = 'invalid token or you must have to login'
        return redirect('/login')

    file = request.files['uploadedFile']

    if file.filename == '':
        session['error'] = 'Please select the file'
        return redirect('/')

    if not allowed_file(file.filename):
        session['error'] = 'File type not allowed'
        return redirect('/')

    if 'uploadedFile' not in request.files:
        session['error'] = 'No file uploaded by the user'
        return redirect('/')

    filename = (file.filename)
    file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

    filepath = os.path.join(app.config['UPLOAD_FOLDER'], filename)

    print(filepath)
    extension = filename.rsplit('.', 1)[1].lower()
    userId = token_doc['userId']
    now = datetime.now()
    ss = os.path.getsize(filepath)
    print(ss)
    if ss < 1024 * 1024:
        size_kb = str(ss / 1024)
        size = str(size_kb[:3]) + ' ' + 'KB'
    else:
        size_mb = str(ss / 1024 / 1024)
        size = str(size_mb[:3]) + ' ' + 'MB'

    hasher = hashlib.md5()
    with open(filepath, 'rb') as afile:
        buf = afile.read()
        hasher.update(buf)
    filehash = hasher.hexdigest()

    try:
        result = mongo.db.Files.insert_one({
            'user_Id':
            userId,
            'originalFileName':
            file.filename,
            'fileType':
            extension,
            'fileSize':
            size,
            'fileHash':
            filehash,
            'filePath':
            filepath,
            'isActive':
            True,
            'createdAt':
            now.strftime("%d/%m/%Y  %H:%M:%S"),
        })
    except:
        session['error'] = 'Something went wrong...!'
    session['signupSuccess'] = 'Your file uploaded successfully...!'
    return redirect('/')