def upload(): if 'file' not in request.files: flash('No file part') return redirect(request.url) f = request.files['file'] if f.filename == '': flash('No selected file') return redirect(request.url) if f: filename = secure_filename(f.filename) f.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) name = request.form['name'] exited = File.query.filter_by(name=name).first() if exited: # 更新文件 exited.path = filename db.session.commit() else: # 创建一条记录 file = File() file.name = name file.path = filename db.session.add(file) db.session.commit() return redirect(url_for('manage'))
def file_put(self, _uname, _fname, _obj): _query = self.file_query("first", _uname, _fname) if _query is None: add_row = File() add_row.name = u"" + _fname add_row.pull_id = self.pull_add(_obj) add_row.user_id = self.user_query("one", _uname).id self.__session.add(add_row) self.__session.commit() return True else: return False
def post(self): try: file = self.request.get('file') #images.resize(self.request.get("img"), 64, 64) fileName = self.request.body fileObj = File() fileObj.name = fileName[fileName.rfind('+%27')+4:fileName.rfind('%27')] fileObj.content = db.Blob(file) fileObj.owner = users.get_current_user() fileObj.put() self.redirect('/filesList') except RequestTooLargeError: self.response.out.write('The file:%s is too big! File size should me < 1MB' % fileObj.name) except: self.response.out.write('Sorry. There was an error(?)')
def adding(upload, filename, datetime): user = user_operations.get_user_for_model() current_dir = obj_of_current_dir() id = user.key.id() + getting_path(filename, current_dir) key = ndb.Key("File", id) if nocontain(key, current_dir.files): object = File(id=id) object.name = filename object.date = datetime object.blob = upload.key() object.put() current_dir.files.append(key) current_dir.put() return "file added!" else: blobstore.delete(upload.key()) return "A file with this name already exists in this directory!"
def file_add(self, _name, _prog, _ver, _arch, _job=constant.init["job"]): # test version for file try: _vquery = self.ver_query("one", _prog, _ver) except: return False else: # find fle _query = self.file_query("all", _name, _prog, _ver, False, _arch) if _query == []: ex = _name.split(".")[-1] _type = constant.ftype[ex] add_row = File() add_row.name = u"" + _name add_row.ver_id = _vquery.id add_row.const_type = u"" + _type add_row.const_arch = u"" + _arch add_row.job_id = self.job_query("one", _job).id self.__session.add(add_row) self.__session.commit() return True