Как я могу получить свой массив как * хороший * список в JavaScript, читаемый человеком?

У меня есть список разрешенных расширений файлов, которые можно загрузить на мой сайт.

Я проверяю их с помощью плагина проверки jQuery .

Я показываю сообщение об ошибке если они выберут неподдерживаемое расширение.

Похоже,

var msg = 'You may only upload files of type ' + allowedExt.join(', ');

Очевидно, что список не выглядит слишком мигающим. Я бы хотел, чтобы он выглядел более читабельным . using System.Runtime.Serialization; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; пространство имен XmlTest {class TestClass: IXmlSerializable {...

using System.IO;
using System.Runtime.Serialization;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;

namespace XmlTest
{
    class TestClass : IXmlSerializable
    {
        public XmlSchema GetSchema()
        {
            return null;
        }

        public void ReadXml(XmlReader reader)
        {
            var data = new byte[3];
            reader.ReadStartElement();
            reader.ReadElementContentAsBase64(data, 0, data.Length);
        }

        public void WriteXml(XmlWriter writer)
        {
            var data = new byte[] { 1, 2, 3 };
            writer.WriteBase64(data, 0, data.Length);
        }

        public static void Main()
        {
            var serializer = new DataContractSerializer(typeof(TestClass));

            var stringWriter = new StringWriter();
            using (var writer = XmlWriter.Create(stringWriter))
            {
                serializer.WriteObject(writer, new TestClass());
            }

            var stringReader = new StringReader(stringWriter.ToString());
            using (var reader = XmlReader.Create(stringReader))
            {
                serializer.ReadObject(reader, true);
            }
        }
    }
}

Строка ReadElementContentAsBase64 выдает исключение NotSupportedException с сообщением:

Метод ReadElementContentAsBase64 не поддерживается в этом XmlReader. Используйте свойство CanReadBinaryContent, чтобы узнать, реализует ли его читатель.

(я проверил, и CanReadBinaryContent вернет true)

Я использую реализацию платформы Microsoft .NET 3.5.

Что могло быть причиной этого?

Примечание. Я намеренно смешиваю DataContractSerializer с IXmlSerializable. Я понимаю, что более распространенный подход для DataContractSerializer - сделать мой класс [DataContract].

Изменить: Теперь я использую обходной путь:
Convert.FromBase64String (reader.ReadElementContentAsString ())
Тем не менее, мне интересно, почему обычный способ терпит неудачу.

8
задан Stefan Monov 22 September 2010 в 07:08
поделиться