【发布时间】:2017-04-27 01:53:31
【问题描述】:
我正在使用 Django Rest Framework 3.4.4 和 Django 1.10。 这是客户端的发布请求:
$http.post(fileUrl, fd, {
withCredentials: true,
transformRequest: angular.identity,
headers: {
'Content-Type': undefined
}
}).success(function(data) {
....
在服务器端我有以下内容:
def post(self, request, format=None):
file_ids = []
file_list = request.FILES.getlist('file_path')
for file in file_list:
serializer = FileSerializer(data={'file_path': file})
if serializer.is_valid():
serializer.save()
....
使用 foo.pdf 等文件名可以正确上传文件。但是,例如,当文件名包含亚美尼亚字母:ա.pdf 时,我收到 UnicodeEncodeError 错误: UnicodeEncodeError, Traceback.
【问题讨论】:
-
您应该在问题中发布回溯(指向外部网站的链接已过时)。 django 错误页面中有一个按钮可以获取可复制粘贴的回溯。至于您的问题,您需要先清理文件名,然后再尝试将它们保存到服务器的文件系统中。
-
我没有足够的声誉直接在我的问题中嵌入图像,因此 steckoverflow 系统包含链接。当然,“复制粘贴回溯”是正确的方法。我会尽快提出质疑。感谢您的意见。
标签: python django post file-upload django-rest-framework