Показать сообщение отдельно
  #10 (permalink)  
Старый 18.04.2014, 15:25
Новичок на форуме
Отправить личное сообщение для colonel_337 Посмотреть профиль Найти все сообщения от colonel_337
 
Регистрация: 21.02.2013
Сообщений: 3

Два дня с этой проблемой ковырялся, с тем же скриптом. Пример выше не помог.
Корректно загружала картинки только мазилла, остальные браузеры били файлы, размер загруженного увеличивался, картинки не открывались.

Может кому поможет, решение простое:
.......
        body += "Content-Disposition: form-data; name='"+(params.fieldName || 'file')+"';filename='" + unescape( encodeURIComponent(params.file.name)) + "'\r\n";
        body += "Content-Type: application/octet-stream\r\n\r\n";
        body += self.reader.result + "\r\n";
        body += "--" + boundary + "--";

	
        if (!XMLHttpRequest.prototype.sendAsBinary) {
            XMLHttpRequest.prototype.sendAsBinary = function(datastr) {
                function byteValue(x) {
                    return x.charCodeAt(0) & 0xff;
                }
                var ords = Array.prototype.map.call(datastr, byteValue);
                var ui8a = new Uint8Array(ords);
                this.send(ui8a.buffer);
            }
        }



        if(self.xhr.sendAsBinary) {
           // firefox
            self.xhr.sendAsBinary(body);
        } else {
           // chrome (W3C spec.)
            self.xhr.send(body);
        }
.............
Ответить с цитированием