我正试图在windows命令提示符下使用cURL命令将文件发送到服务器。但是得到错误消息为"strong";{"detail":"JSON解析错误-无法解码任何JSON对象"。但使用邮递员,我可以将文件发送到服务器。以下给出了详细信息。
这是我试图通过发送文件位置来发送/上传文件的两个cURL命令:
curl --insecure -F user_file=@"C:/Users/402096/Desktop/dau_settings-123.conf" -H "Content-Type: application/json" -H "Authorization: Token 3f98d0a178ddd176faea94e6d629621920d203b2624550e68a" -X POST https://10.107.12.123/import_config
curl --insecure -F "user_file=@C:/Users/402096/Desktop/dau_settings-123.conf" -H "Content-Type: application/json" -H "Authorization: Token 3f98d0a178ddd176faea94e6d629621920d203b2624550e68a" -X POST https://10.107.12.123/import_config
这是我的代码,它将被调用来上传django中的文件
@api_view(["POST", "GET"])
@permission_classes((IsAuthenticated,))
@permission_required('dau_gui_app.execute_import_config')
def import_config_view(request):
if request.method == 'POST' and request.FILES['user_file']:
user_file = request.FILES['user_file']
fs = FileSystemStorage()
filename = fs.save( user_file.name, user_file)
filePath = fs.location + "/" + filename
print filePath
message ="{
"command":"execute",
"subcommand":"import_config",
"args": [{"file_path":"" + filePath + ""}]}"
message.replace(" ", "")
try:
response = send_cmd(message)
except:
print("An exception occurred sending the message:")
print(message)
#end try
fs.delete(filename)
return HttpResponse(response, content_type='application/json')
return render(request, 'dau_gui_app/import_config.html' ,{'title':"Import Configuration" })
注意:我可以使用poster成功上传文件。当我查看poster用来上传/发送文件的cURL代码时,我在poster中看到了下面的cURL。但当我在windows命令提示符下键入相同的命令时,却出现了和语法和格式有关的错误。
curl -X POST 'https://10.107.12.123/import_config' -H 'Content-Type: application/json' -H 'Authorization: Token 3f98d0a178ddd176faea94e6d629621920d203b2624550e68a' -H 'Cookie: csrftoken=wC4LbjwDsh5BkRPi7TgwZN2FbQLMMpuz; sessionid=7xq7jv95j50k6lkojbrkp2ndgfczfe9v' -F 'user_file=@/C:/Users/402096/Desktop/dau_settings-123.conf'
请帮助我如何在windows命令提示符下使用cURL将文件发送/上传到我的django服务器。不确定我错过了什么
您需要安装curl并在环境变量中设置路径。从这里签出安装步骤:https://develop.zendesk.com/hc/en-us/articles/360001068567-Installing-and-using-cURL#install