Member 7842129 Ответов: 2

Как загрузить mp3 файлы в asp.net 3.5.


как загрузить mp3 - файлы и как загрузить mp3-файлы из базы данных...

Sandeep Mewara

Пробовал что-нибудь?

2 Ответов

Рейтинг:
4

Wonde Tadesse

Как вы сохранились в базе данных? От вас вопрос этот не известен.Таким образом, я вижу два способа, которыми вы можете скачать или сохранить mp3-файл. Я пройду через них в обоих направлениях.

1. Если вы сохраните только путь к файлу. В этом случае ваш файл должен быть сопоставлен в определенной папке на вашем веб-сайте. Затем сопоставьте имя файла и скройте его в двоичном массиве. Подобный этому

string mp3FileName = "E.T - Kety Perry.mp3";
string mp3Path = Server.MapPath("~/mp3/" + mp3FileName ); // Note: I am assuming that you have "mp3" 
folder and "E.T - Kety Perry.mp3" in your root web folder.
byte[] mp3 = System.IO.File.ReadAllBytes(mp3Path);

2. Если вы сохраняете фактический файл как двоичный в базе данных, считайте файл как поток памяти из базы данных. Следующий код кое как поможет вам это сделать
string mp3FileName = "E.T - Kety Perry.mp3";
       using (SqlConnection connection = new SqlConnection("connectionString"))// Replace based on your Connection srting
       {
           connection.Open();
           // Assuming that you do have a Table called Mp3Table with Mp3File(varbinary(MAX)) data type and Mp3FileName(nvarchar(50)) data type
           using (SqlCommand command = new SqlCommand("Select Mp3File from mp3Table Where Mp3FileName='" + mp3FileName + "'", connection))
           {
               SqlDataReader reader = command.ExecuteReader();
               while (reader.Read())
               {
                   byte[] mp3Bytes = (byte[])reader["Mp3File"];
               }
           }
       }


Поэтому сохраните файл на своем веб-сайте, у вас должен быть механизм для загрузки файла.Как же так? посмотрите следующий код.Обратите внимание, что вы должны были бы FileUpload управление на вашей веб-странице.

if((mp3Uploader.PostedFile != null) && !string.IsNullOrEmpty(mp3Uploader.PostedFile.FileName) && mp3Uploader.PostedFile.ContentLength > 0) {
    byte[] mp3Bytes = new Byte[mp3Uploader.PostedFile.ContentLength];
    mp3Uploader.PostedFile.InputStream.Read(mp3bytes, 0, Convert.ToInt32(mp3Uploader.PostedFile.ContentLength));
}


То же самое mp3Bytes в базу данных или запишите этот двоичный файл в каталог вашего любимого веб-сайта. Как же так?

System.IO.File.WriteAllBytes(Server.MapPath("~/mp3/"+ System.IO.Path.GetFileName(mp3Uploader.PostedFile.FileName)), mp3Bytes);


Или в базу данных
string mp3FileName = "E.T - Kety Perry.mp3";
        using (SqlConnection connection = new SqlConnection("connectionString"))// Replace based on your Connection srting
        {
            connection.Open();
            // Assuming that you do have a Table called Mp3Table with Mp3File(varbinary(MAX)) data type and Mp3FileName(nvarchar(50)) data type
            using (SqlCommand command = new SqlCommand("INSERT INTO mp3Table(Mp3File, Mp3FileName,Picture) values(@Mp3File,@Mp3FileName)", connection))
            {
                command.Parameters.Add("@Mp3File", SqlDbType.VarBinary);
                command.Parameters.Add("@Mp3FileName", SqlDbType.NVarChar);
                command.Parameters["@Mp3File"].Value = mp3Bytes;
                command.Parameters["@Mp3FileName"].Value = mp3FileName;
                command.ExecuteNonQuery();
            }
        }


Это то, что вы в основном делаете.

Удачи.


Ed Nutting

Очень хороший ответ, хотя вы, вероятно, должны прочитать, что сказал Сандип, вы не должны делать ВСЮ работу для людей ;P тем не менее, превосходный ответ :)

Wonde Tadesse

Согласованный.

Рейтинг:
17

Sandeep Mewara

Загрузка MP3 будет аналогична загрузке любого другого файла. То же самое для загрузки.


Вместо того чтобы публиковать свои вопросы без каких-либо усилий (это выглядит как домашнее задание), я бы предложил вам сначала попробовать их, немного исследовать, поискать в Google, придумать какую-нибудь работу. Если вы застряли, то опубликуйте конкретные проблемы, с которыми вы сталкиваетесь.

===

Кстати, вот чего ожидают исследователи:
1. Попробуйте сначала то, что вы хотите сделать!
2. сформулируйте, что было сделано вами, что выглядит как проблема/не работает.

Попробуйте их и скажите, если у вас возникнут проблемы.
Члены клуба будут более чем счастливы помочь вам в этом.


Ed Nutting

Мой 5 - это тот же самый старый совет, что и всегда... когда же люди научатся?..; P

Wonde Tadesse

Согласованный.