Найти - Пользователи
Полная версия: ajax file upload
Начало » Django » ajax file upload
1
barabansheg
На клиентской стороне использую вот этот метод: http://habrahabr.ru/post/109079/
А какой вьюхой обрабатывать ajax запрос?
Вот это:
def loadfile(request):                                            
return HttpResponse(request.raw_post_data)
Выдает Invalid boundary in multipart: None
Подсобите, плиз =)
fata1ex
Как насчет скопировать название темы, нажать F6, нажать Ctrl+V, нажать пробел, ввести ‘django’, нажать <Enter> и прочитать первые несколько ссылок?
barabansheg
Это сделал первым делом. Пока не особо вышло разобраться.
fata1ex
django-ajax-uploader/views.py. мм?
barabansheg
Ковырял тут. Дело в том, что выдает 500 ошибку. Делал просто во вьюхе один pass и нефига. Ругается на Invalid boundary in multipart: None.
Если расковырять локальные переменные, то говорит, что request.POST could not parse…Походу со стороны клиента идет какая-то лажа.
zheromo
Примерно так

class CabinetAddScan(JsonFormResponseMixIn, BaseUpdateView):
    model = Document
    form_class = ScanForm
    
class JsonFormResponseMixIn(object):
    @to_json
    def form_valid(self, form):
        self.object = form.save()
        return dict(
            success = True,
            object = self.object.__json__(),
        ) 
    
    @to_json
    def form_invalid(self, form):
        return dict(
            success = False,
            errors = [ (field.label, u", ".join(field.errors)) for field in form if field.errors],
        )
     
def to_json(func):
    def wrapper(self, *argv, **kw):
        data = json.dumps(func(self, *argv, **kw))
        return HttpResponse(data, mimetype="application/json")
    return wrapper
barabansheg
А как этим пользоваться? =) Точней не…Где почитать что б понять как этим пользоваться?)

З.Ы. Лажа на самом деле шла от клиента. Переделал запрос. Все ок. Но теперь не могу получить данные
на стороне сервера. Обращаюсь к полю через request.FILES, пишет следующее:
Key \'mypic\' not found in <MultiValueDict: {u"\'mypic\'": [<TemporaryUploadedFile: \'test.jpg\' (application/octet-stream)>]}>'


FishHook
barabansheg
А как этим пользоваться?
Курить Class Based Views
barabansheg
Файлы загружает. Клиентская сторона тоже как надо работает…НО! При обращении к файлу напрямую(лежит в /media/files/) выдает 404. Если туда загружать файлы через форму - все ок. Может я не верно что-то сохраняю?
Вот код:
upload = request.FILES['test']
fd = open('%s/%s' % (settings.MEDIA_ROOT,upload.name), 'wb')
fd.write(upload.read())
fd.close()

Или передается что-то не правильно, т.к. сохраняю файл с сервера - какая-то хрень. Если загружал картинку, то скачал оттуда просто файл весом, почему - то, большим чем картинка.

PS Косяк все же на клиентской стороне. В моззиле все ок работает, в хроме - нет.


This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB