Http将数据从Python发布到net core应用程序
我正在尝试将一个文件从Python脚本发送到我的.net核心Web服务器 在Python中,我使用Http将数据从Python发布到net core应用程序,python,c#,asp.net-mvc,asp.net-core,.net-core,Python,C#,Asp.net Mvc,Asp.net Core,.net Core,我正在尝试将一个文件从Python脚本发送到我的.net核心Web服务器 在Python中,我使用请求库来实现这一点,我的代码看起来是这样的 filePath = "run-1.csv" with open(filePath, "rb") as postFile: file_dict = {filePath: postFile} response = requests.post
请求
库来实现这一点,我的代码看起来是这样的
filePath = "run-1.csv"
with open(filePath, "rb") as postFile:
file_dict = {filePath: postFile}
response = requests.post(server_path + "/batchUpload/create", files=file_dict, verify=validate_sql)
print (response.text)
此代码执行良好,我可以在我的Web服务器代码中看到请求良好,如下所示:
[HttpPost]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
public string Create(IFormFile file) //Dictionary<string, IFormFile>
{
var ms = new MemoryStream();
file.CopyTo(ms);
var text = Encoding.ASCII.GetString(ms.ToArray());
Debug.Print(text);
return "s";
}
[HttpPost]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
公共字符串创建(ifformfile)//字典
{
var ms=新内存流();
CopyTo文件(ms);
var text=Encoding.ASCII.GetString(ms.ToArray());
调试。打印(文本);
返回“s”;
}
但是,file参数始终返回为null。
另外,当从邮递员那里获取发布的数据时,我可以很好地看到文件参数
我怀疑这个问题与.net核心模型绑定的工作方式有关,但不确定。。。
关于如何在服务器上显示我的文件,这里有什么建议吗?解决了我的问题-问题是在Python中,我用实际文件名“/run1.csv”而不是文字字符串“file”将我的文件分配到我的上载字典中 更新此文件修复了我的问题
file_dict = {"file": postFile}
这就是我相信上面提到的@nalnpir。
我从邮递员和我的python代码中找到了答案,并将其与响应进行了比较。解决了我的问题-问题是在python中,我用实际文件名“/run1.csv”而不是文字字符串“file”将我的文件分配到上传字典中 更新此文件修复了我的问题
file_dict = {"file": postFile}
这就是我相信上面提到的@nalnpir。
我从postman和我的python代码中找到了这一点,并比较了响应我想你这里的问题是,你首先要解决的是python文件,它应该是文件,其次,你确定你只发送一个文件,这是发送文件的正确方式吗?我想你这里的问题,从python开始,您首先要寻址的文件应该是file,其次,您确定只发送一个文件,这是发送文件的正确方式吗?