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
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!"
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 )
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('/')