将文件上载到没有HTML表单的Python瓶服务器

时间:2015-09-11 08:13:57

标签: python file upload bottle

目前我有一个HTML表单,它选择文件并将其上传到服务器。 没有HTML表单怎么做。

<html>
<head></head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">

  Select a file: <input type="file" name="uploadinc" />
  <input type="submit" value="Start upload" />
</form>
</body>
</html>

我的瓶子服务器包含以下代码供上传。

@route('/UploadFiles', method='POST')
def UploadFiles():
   print "inside upload files"
   uploadinc = request.files.get('uploadinc')

   uploadinc.save("/home/user/files/"+uploadinc.filename)

我想直接保存没有HTML UI的文件。

像..

   request.files.get("file location in local machine if it is fixed(C:\\a.txt)")

但它没有。怎么做?

我可以从这样的其他客户端调用Rest API。

Calling REST api with multipart form data

如何以编程方式进行此调用?

2 个答案:

答案 0 :(得分:1)

您可以尝试Requests lib:POST a Multipart-Encoded File

  

如何以编程方式进行此调用?

来自请求库documentation的修改示例:

import requests
url = 'http://10.208.53.89:7778/UploadFiles'
multiple_files = [
   ('images', ('foo.png', open('foo.png', 'rb'), 'image/png')),
   ('images', ('bar.png', open('bar.png', 'rb'), 'image/png'))
]
r = requests.post(url, files=multiple_files)

答案 1 :(得分:1)

您想从命令行而不是在浏览器中上传文件?只需使用curl:

curl -F "image=@foo.png" -F "image2=@bar.png"  http://localhost:8888/uploadFiles

Source