本文使用Qt
Creator用HTTP POST的方法上传文件,并给出一个上传文件的例程。
本文主要客户端,所以对于服务器端程序编写的描述会比较简略
服务器使用Django编写,django服务器接收文件的方法在文章http://www.cnblogs.com/fnng/p/3740274.html中有较为清晰的讲解,我搭建的服务器端程序除了没有网页客户端以及部分变量名称不同以外,基本上与这篇文章的服务器搭建过程一样。
如果服务器端程序发生变化,这篇文章后面给出的客户端例程可能就不再适用。因此如果运行客户端程序之后发现服务器端不能接收到文件,不要直接认为这篇文章给出的客户端例程是错误的,也可能是其他问题导致的。
在制作程序时,我并没有尝试上传大文件、同时上传多个文件以及文件名中包含中文这三种情况。因此在这三种情况下程序很有可能出现BUG。
示例程序链接:http://pan.baidu.com/s/1i5NWsHR
1.
服务器端
服务器端程序基本参照http://www.cnblogs.com/fnng/p/3740274.html。这里直接贴出代码,搭建过程以及代码描述等就不进行说明了。
disk/views.py:
from
django.shortcuts import render,render_to_response
from
django.http import HttpResponse
from
django import forms
from
.models import User
import
os
# Create
your views here.
class
UserForm(forms.Form):
username=forms.CharField()
upload_file=forms.FileField()
def
index(request):
if
request.method=="POST":
uf=UserForm(request.POST,request.FILES)
print(str(request.POST))
print(str(request.FILES))