直接上代码
html
<form class="form-horizontal" id="upload-form">
<div class="col-md-6">
<div class="form-group">
<label class="col-sm-3 control-label">选择图片:</label>
<div class="col-sm-9">
<input type="file" id = "picfile" name = "picfile">
</div>
</div>
<div class="btn-group btn-group-xl pull-right">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</div>
</form>
jquery
$("#upload-form").submit( function() {
var checklist = $("input[name='checklist']");
var choice = new Array();
for (var i = 0; i < checklist.length; i++) {
if (checklist[i].checked) {
choice.push(checklist[i].value);
}
}
var imgs = $("#picfile")[0].files[0];
var data = new FormData();
data.append('taskids', choice)
data.append('imgs', imgs)
if (choice.length && imgs){
$.ajax({
type: 'POST',
url: '/rankkw/uploadPicture/',
data: data,
cache: false,
async: false,
processData: false,
contentType: false,
success: function (data, status) {
if (data.ret == 0) {
alert('上传图片成功!');
table.ajax.reload();
}
else {
alert("上传图片失败!失败原因:" + data.message);
}
},
error: function (data) {
alert( "错误原因"+data);
}
}) }else{ alert("未选中任务或未选择图片!") } })
后台
def uploadPicture(request): try: taskids = request.POST.get('taskids') if not taskids: ex = u"任务id获取失败" raise Exception, ex reqfile = request.FILES.get('imgs') img = Image.open(reqfile) img.thumbnail((500,500), Image.ANTIALIAS) img.save('D:\django\amzkeyword\statics\uploadimgs\1.png', "png") return render_to_response("addtask.html", { "upload_msg": u"上传成功"}) except Exception, e: err = u"上传失败,错误原因:" + str(e) return render_to_response('addtask.html', { "upload_msg": err})