【发布时间】:2013-01-21 06:39:50
【问题描述】:
我需要使用 python - wsgi 将文件上传到远程位置。 远程位置不是指托管 python 应用程序的服务器,而是不同的服务器。
我尝试将文件上传到正是应用程序托管的服务器。并且成功了。
使用以下代码,
post = cgi.FieldStorage(fp=environ['wsgi.input'],environ=environ,keep_blank_values=True)
self.msg = str(post)
try:
fileitem = post['Filedata']
if fileitem.file:
filename = fileitem.filename.decode('utf8').replace('\\','/').split('/')[-1].strip()
if not filename:
raise Exception('No valid filename specified')
file_path = os.path.join(self.uploadpath, filename)
# Using with makes Python automatically close the file for you
counter = 0
with open(file_path, 'wb') as output_file:
while 1:
data = fileitem.file.read(1024)
# End of file
if not data:
break
output_file.write(data)
counter += 1
if counter == 100:
counter = 0
self.msg = "Uploaded Successfully !!!! "
except:
pass
但这是针对 python 应用程序托管的本地位置。 我搜索谷歌如何在 python 中将文件上传到远程位置。 但我找不到合适的解决方案。有些建议从 python 代码做 scp。
更多..
假设有两台服务器,分别称为 A 和 B。我用于文件上传的 python-wsgi 应用程序托管在服务器 A 上。在 python-wsgi 应用程序中,当用户单击上传时,有一个 Web 表单供用户选择文件然后该文件需要上传到服务器 B(已知位置)
有人知道使用 python 将文件上传到远程位置的方法或库吗?
提前致谢。
【问题讨论】:
-
我需要一匹小马。提前致谢。
-
你在问什么?我需要使用 python 将文件上传到远程位置。
-
SO 用于回答具体问题;你没有问任何问题,只是说你需要做点什么。我不会为你写你的代码。如果您进行了尝试但没有成功,那么我们一定可以帮助您。
-
它是什么样的服务器? HTTP? FTP?你那里有root权限吗?您可以安装所需的服务/服务器/其他吗?你想在那里放另一个 Python 脚本吗?
-
它和 HTTP 服务器。是的,有root权限。不,我不想放另一个 python 脚本,还有一种方法可以不向目标服务器安装任何服务。谢谢。