Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблема загрузки (http://www.flasher.ru/forum/showthread.php?t=119685)

lineleon 27.12.2008 16:39

Проблема загрузки
 
Ситуация:

Есть flash-ролик, через который пользователи посредством FileReference загружают фото. У меня все работает прекрасно через IE. Тем не менее, у 90% клиентов ничего не получается. У меня не получается загружать через Opera и Mozilla. Пишет ошибку onIOError


Итак, вопрос знатокам. Как наладить загрузку фото?
Заранее большое спасибо!

Wolsh 27.12.2008 17:51

У экстрасенсов рождественские каникулы, придется постить код.

lineleon 27.12.2008 18:55

Ну ок...

Код AS1/AS2:

stop ();
var loadmem:LoadVars = new LoadVars ();
var str = "random=" + new Date ().getTime ();
loadmem.load ("mem.php?" + str);
loadmem.onLoad = function (ok) {
        if (ok) {
                _root.mem = loadmem.mem;
        }
};
import flash.net.FileReferenceList;
import flash.net.FileReference;
o_btn.enabled = false;
o_btn._alpha = 50;
var listener:Object = new Object ();
var fileRef:FileReferenceList = new FileReferenceList ();
fileRef.addListener (listener);
listener.onSelect = function (fileRefList:FileReferenceList) {
        o_btn.enabled = true;
        o_btn._alpha = 100;
        var list:Array = fileRefList.fileList;
        for (var i:Number = 0; i < list.length; i++) {
                item = list[i];
                trace (item.addListener (this));
                txt = item.name;
        }
};
listener.onCancel = function ():Void  {
        txt = "Загрузка отменена";
};
listener.onOpen = function (file:FileReference):Void  {
        txt = "onOpen: " + file.name;
};
listener.onProgress = function (file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void  {
        txt = bytesLoaded + " : " + bytesTotal;
};
listener.onComplete = function (file:FileReference):Void  {
        txt = "Удачно загружено";
        _root.photovar = 1;
        o_btn.enabled = false;
        o_btn._alpha = 50;
        obt.enabled = false;
        obt._alpha = 50;
        _root.ph1.loadMovie ("imgs/1_" + _root.mem + "_small.jpg");
};
listener.onHTTPError = function (file:FileReference, httpError:Number):Void  {
        txt = "onHTTPError: " + file.name + " httpError: " + httpError;
};
listener.onIOError = function (file:FileReference):Void  {
        txt = "onIOError: " + file.name;
};
listener.onSecurityError = function (file:FileReference, errorString:String):Void  {
        txt = "onSecurityError: " + file.name + " errorString: " + errorString;
};
o_btn.onRelease = function () {
        item.upload ("upload.php?f=1&mem=" + _root.mem);
};
obt.onRelease = function () {
        fileRef.browse ([{description:"JPEGs", extension:"*.JPG;*.jpg"}]);
};
///ph 2
o_btn1.enabled = false;
o_btn1._alpha = 50;
var listener1:Object = new Object ();
var fileRef1:FileReferenceList = new FileReferenceList ();
fileRef1.addListener (listener1);
listener1.onSelect = function (fileRefList:FileReferenceList) {
        o_btn1.enabled = true;
        o_btn1._alpha = 100;
        var list1:Array = fileRefList.fileList;
        for (var i:Number = 0; i < list1.length; i++) {
                item1 = list1[i];
                trace (item1.addListener (this));
                txt1 = item1.name;
        }
};
listener1.onCancel = function ():Void  {
        txt1 = "Загрузка отменена";
};
listener1.onOpen = function (file:FileReference):Void  {
        txt1 = "onOpen: " + file.name;
};
listener1.onProgress = function (file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void  {
        txt1 = bytesLoaded + " : " + bytesTotal;
};
listener1.onComplete = function (file:FileReference):Void  {
        txt1 = "Удачно загружено";
        _root.photovar = 1;
        o_btn1.enabled = false;
        o_btn1._alpha = 50;
        obt1.enabled = false;
        obt1._alpha = 50;
        _root.ph2.loadMovie ("imgs/2_" + _root.mem + "_small.jpg");
};
listener1.onHTTPError = function (file:FileReference, httpError:Number):Void  {
        txt1 = "onHTTPError: " + file.name + " httpError: " + httpError;
};
listener1.onIOError = function (file:FileReference):Void  {
        txt1 = "onIOError: " + file.name;
};
listener1.onSecurityError = function (file:FileReference, errorString:String):Void  {
        txt1 = "onSecurityError: " + file.name + " errorString: " + errorString;
};
o_btn1.onRelease = function () {
        item1.upload ("upload.php?f=2&mem=" + _root.mem);
};
obt1.onRelease = function () {
        fileRef1.browse ([{description:"JPEGs", extension:"*.JPG;*.jpg"}]);
};
///ph 3
o_btn2.enabled = false;
o_btn2._alpha = 50;
var listener2:Object = new Object ();
var fileRef2:FileReferenceList = new FileReferenceList ();
fileRef2.addListener (listener2);
listener2.onSelect = function (fileRefList:FileReferenceList) {
        o_btn2.enabled = true;
        o_btn2._alpha = 100;
        var list2:Array = fileRefList.fileList;
        for (var i:Number = 0; i < list2.length; i++) {
                item2 = list2[i];
                trace (item2.addListener (this));
                txt2 = item2.name;
        }
};
listener2.onCancel = function ():Void  {
        txt2 = "Загрузка отменена";
};
listener2.onOpen = function (file:FileReference):Void  {
        txt2 = "onOpen: " + file.name;
};
listener2.onProgress = function (file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void  {
        txt2 = bytesLoaded + " : " + bytesTotal;
};
listener2.onComplete = function (file:FileReference):Void  {
        txt2 = "Удачно загружено";
        _root.photovar = 1;
        o_btn2.enabled = false;
        o_btn2._alpha = 50;
        obt2.enabled = false;
        obt2._alpha = 50;
        _root.ph3.loadMovie ("imgs/3_" + _root.mem + "_small.jpg");
};
listener2.onHTTPError = function (file:FileReference, httpError:Number):Void  {
        txt2 = "onHTTPError: " + file.name + " httpError: " + httpError;
};
listener2.onIOError = function (file:FileReference):Void  {
        txt2 = "onIOError: " + file.name;
};
listener2.onSecurityError = function (file:FileReference, errorString:String):Void  {
        txt2 = "onSecurityError: " + file.name + " errorString: " + errorString;
};
o_btn2.onRelease = function () {
        item2.upload ("upload.php?f=3&mem=" + _root.mem);
};
obt2.onRelease = function () {
        fileRef2.browse ([{description:"JPEGs", extension:"*.JPG;*.jpg"}]);
};
///ph 4
o_btn3.enabled = false;
o_btn3._alpha = 50;
var listener3:Object = new Object ();
var fileRef3:FileReferenceList = new FileReferenceList ();
fileRef3.addListener (listener3);
listener3.onSelect = function (fileRefList:FileReferenceList) {
        o_btn3.enabled = true;
        o_btn3._alpha = 100;
        var list3:Array = fileRefList.fileList;
        for (var i:Number = 0; i < list3.length; i++) {
                item3 = list3[i];
                trace (item3.addListener (this));
                txt3 = item3.name;
        }
};
listener3.onCancel = function ():Void  {
        txt3 = "Загрузка отменена";
};
listener3.onOpen = function (file:FileReference):Void  {
        txt3 = "onOpen: " + file.name;
};
listener3.onProgress = function (file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void  {
        txt3 = bytesLoaded + " : " + bytesTotal;
};
listener3.onComplete = function (file:FileReference):Void  {
        txt3 = "Удачно загружено";
        _root.photovar = 1;
        o_btn3.enabled = false;
        o_btn3._alpha = 50;
        obt3.enabled = false;
        obt3._alpha = 50;
        _root.ph4.loadMovie ("imgs/4_" + _root.mem + "_small.jpg");
};
listener3.onHTTPError = function (file:FileReference, httpError:Number):Void  {
        txt3 = "onHTTPError: " + file.name + " httpError: " + httpError;
};
listener3.onIOError = function (file:FileReference):Void  {
        txt3 = "onIOError: " + file.name;
};
listener3.onSecurityError = function (file:FileReference, errorString:String):Void  {
        txt3 = "onSecurityError: " + file.name + " errorString: " + errorString;
};
o_btn3.onRelease = function () {
        item3.upload ("upload.php?f=4&mem=" + _root.mem);
};
obt3.onRelease = function () {
        fileRef3.browse ([{description:"JPEGs", extension:"*.JPG;*.jpg"}]);
};
///ph 5
o_btn4.enabled = false;
o_btn4._alpha = 50;
var listener4:Object = new Object ();
var fileRef4:FileReferenceList = new FileReferenceList ();
fileRef4.addListener (listener4);
listener4.onSelect = function (fileRefList:FileReferenceList) {
        o_btn4.enabled = true;
        o_btn4._alpha = 100;
        var list4:Array = fileRefList.fileList;
        for (var i:Number = 0; i < list4.length; i++) {
                item4 = list4[i];
                trace (item4.addListener (this));
                txt4 = item4.name;
        }
};
listener4.onCancel = function ():Void  {
        txt4 = "Загрузка отменена";
};
listener4.onOpen = function (file:FileReference):Void  {
        txt4 = "onOpen: " + file.name;
};
listener4.onProgress = function (file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void  {
        txt4 = bytesLoaded + " : " + bytesTotal;
};
listener4.onComplete = function (file:FileReference):Void  {
        txt4 = "Удачно загружено";
        _root.photovar = 1;
        o_btn4.enabled = false;
        o_btn4._alpha = 50;
        obt4.enabled = false;
        obt4._alpha = 50;
        _root.ph5.loadMovie ("imgs/5_" + _root.mem + "_small.jpg");
};
listener4.onHTTPError = function (file:FileReference, httpError:Number):Void  {
        txt4 = "onHTTPError: " + file.name + " httpError: " + httpError;
};
listener4.onIOError = function (file:FileReference):Void  {
        txt4 = "onIOError: " + file.name;
};
listener4.onSecurityError = function (file:FileReference, errorString:String):Void  {
        txt4 = "onSecurityError: " + file.name + " errorString: " + errorString;
};
o_btn4.onRelease = function () {
        item4.upload ("upload.php?f=5&mem=" + _root.mem);
};
obt4.onRelease = function () {
        fileRef4.browse ([{description:"JPEGs", extension:"*.JPG;*.jpg"}]);
};

Добавлено через 3 минуты
Люди, только не говорите, что это из-за мультиаплоада, атрибутов и из-за принимающего файла. Ну то есть будьте внимательны, плиз.

KiL33 27.12.2008 19:14

А зачем одно и тоже 5 раз писать))

iNils 27.12.2008 20:32

lineleon, для оформления кода используют не <as></as>, а [as][/as]. Не путайте.

lineleon 28.12.2008 02:22

Окей, [as].

По поводу 5 раз одного и того же. Функция не будет работать при мультиаплоаде файлреференса. По сути, я реализовал мультиаплоад во флеш. Но почему то не работает в Мозилле и Опере. Почему?


Часовой пояс GMT +4, время: 18:14.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.