나는 파이썬에 처음 들어서 "복잡한"작업을 수행하는 방법을 찾고있다.파이썬에서 mysql에 웹 파일 업로드하기
내 DB의 Image
열 (blob)에 작은 이미지 (각각 1MB 미만)를 저장해야합니다. 내 스크립트는 현재 파일을 읽는 데 필요한 URL을 검색합니다. 나는 HDD를 쓰지 않고 (HDD를 보충하기 위해) 지금까지 이미지를 검색하고 DB에 업로드 할 방법이 없다는 것을 발견했다.
현재 URLlib2와 MySQL Connector를 사용하고 있으며 Windows와 Debian 모두에서 작동하므로 가능한 한 계속 사용하고 싶습니다.
codes = [xx, aa, ab] # This line is simulated as it is gerated by a long script run previously...
print "-> Downloading Flags..."
for code in codes:
if not code == 'xx':
filename = "%s-lgflag.gif" % code
url = "%s%s" % (flagurl, filename)
index = code.index(code)
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
infile = opener.open(url)
pic = infile.read()
update_time = int(time.time())
wquery = ("UPDATE `cin`.`flags` SET `flag`='%s', `update_time`='%d' WHERE `name`='%s' AND `lockid`='%s'") % (pic_bin, update_time, names[index], lockid)
cursor.execute(wquery)
cnx.commit()
sys.exit() ### Exit to make sure that I don't pass the whole list of 500+ flags
print "-> Flags downloaded"
이 코드 반환 오류 :
가Traceback (most recent call last):
File "C:\Users\***\flagstest.py", line 61, in <module>
wquery = ("UPDATE `cin`.`flags` SET `flag`='%s', `update_time`='%d' WHERE `name`='%s' AND `lockid`='%s'") % (pic, update_time, names[index], lockid)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc1 in position 41: ordinal not in range(128)
는 희망의 사람이 내가 그것을를 arround 작동 할 수있는 방법을 찾을 수 있습니다 ...
PS : 나는 DB에 이미지를 저장 알고 최선 아니다 솔루션이지만 DB가 여러 기기에서 동기화되고 오프라인 데이터 액세스가 필요할 수 있으므로 이러한 이미지를 저장해야합니다. 귀하의 요청에
감사 : 대신 커서의 시스템을 사용해야합니다 Google ...하지만 여전히이 오류가 발생합니다 : Traceback (가장 최근의 마지막 통화) : 파일 "C : \ Users ... \ Xflags.py", 61 행 커서 .execute (wicery, (pic_bin, update_time, names [index], lockid,)) 파일 "C : \ Python27 \ lib \ site-packages \ mysql \ connector \ cursor.py ", 줄 381, 실행 "문자열 서식 지정 중 잘못된 인수 수 " 프로그래밍 오류 : 문자열 서식 지정 중 잘못된 인수 수 –
Xop777