在继续阅读之前,请相信我,当我说我已阅读关于此主题的所有其他帖子时,他们都没有帮助。使用JQuery和Django上传图片
我想添加图像上传功能到我的网站。我想通过ajax帖子上传图片 。我无法得到这个工作。
以下是我有:
HTML - 我有一个特殊的设置,使显示图像,而不是一个愚蠢的按钮 和文本字段。我也在使用onChange事件自动提交,当我选择图像后点击“确定”。
<form id="add-picture-form" method="POST" action="/api/upload_image/" enctype="multipart/form-data">{% csrf_token %}
<div class="thumbnails" style="width:400px;">
<label class="cabinet BrandHeader">
<input type="file" class="file" id="upload-photo" onChange="$('#add-picture-form').submit();" />
</label>
</div>
</form>
的Jquery:
$('#add-picture-form').submit(function() {
//var filename = $("#upload-photo").val();
var photo = document.getElementById("upload-photo");
var file = photo.files[0];
$.ajax({
type: "POST",
url: "/api/upload_image/",
enctype: 'multipart/form-data',
data: {'file': file.getAsBinary(), 'fname' : file.fileName },
success: function(){
alert("Data Uploaded: ");
}
});
return false;
});
当您发布到被打到最后我的Django视图/ API/upload_image/
def ajax_upload(request):
print request.POST
print request.FILES
return http.HttpResponse(simplejson.dumps([True]), mimetype='application/javascript')
我试图将图像写入二进制,但我无法打开已写入的数据。 为什么上传一个使用javascript这么难的图像?我是一个白痴,只是没有使用简单的解决方案?如果是这样,请告诉我在Django中使用jQuery上传图片的最佳方式是什么。
你卡在哪里?你的HTML/JS工作正常吗?或者你有问题吗? – bcoughlan
你能以这种方式发布任何文件到服务器吗?我不认为文件可能会被服务器ajax化。 –