Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как организовать скачевание файлов


Автор: DenWPF 25.8.2010, 17:49
Мне надо скачать с ftp zip файл, а потом его зашифровать.


и ещё расшифровать файл и достать оттуда к примеру файл  index.html

но мне надо сделать так что бы файлы не записывались на диск, а все в оперативной памяти...

просто я не хочу что бы пользователь не смог достать zip файл, что было доступно только зашифрованный

Автор: jonie 26.8.2010, 22:57
MemoryStream (если у вас хватит памяти) или просто стрим криптованный ... там типа почти всё без твоего участия будет работать

Автор: reborn 29.8.2010, 22:12
Код

using System;
using System.IO;
using System.IO.Compression;
using System.Text;
using System.Net;

class Data : IDisposable
{
    public void Dispose() { }

    MemoryStream MemStr;

    public Data(string Url)
    {
        UnZipFile(Url);
    }

    MemoryStream DownloadData(string Url)
    {
        using (WebClient Wc = new WebClient())
        {
            MemStr = new MemoryStream(Wc.DownloadData(Url));
        }

        return MemStr;
    }

    void UnZipFile(string Url)
    {
        MemoryStream MemStr = DownloadData(Url);

        using (GZipStream ZipStr = new GZipStream(MemStr, CompressionMode.Decompress))
        {
            byte[] P = new byte[ZipStr.BaseStream.Length];
            ZipStr.BaseStream.Read(P, 0, P.Length);
            FileStream Fs = new FileStream("TmpFile.zip", FileMode.OpenOrCreate, FileAccess.ReadWrite);
            Fs.Write(P, 0, P.Length);
            Fs.Flush();
        }
    }
}

class Program
{
    static void Main()
    {
        while (true)
        {
            Console.Write("\nPlease, insert link to download ZIP-file >> ");
            string Abc = Console.ReadLine();

            using (Data Obj = new Data(Abc)) ;
        }
    }
}


Я если честно не понял, что ты хочешь?
Т.е. возится с байтами + архивом?  smile  Ну ты изварщенец smile

И привел свой пример, правда тут с сохранением файла, можно конечно же и внутри программы этим заняться, но я как бы смысла не вижу... А зачем тебе это?
Что это за программа такая, которая скачивает ZIP архив, и не дает юзеру взять оттуда файлы smile

Хотя, я может что-то не так понял smile

Автор: DenWPF 29.8.2010, 23:57
вот имено что цель, что бы юзер без программы не чего не мог проссмотреть.

Автор: reborn 30.8.2010, 07:40
DenWPF, а зачем? в любом случае, если у тебя есть ZIP архив, и допустим там есть аудио, видео или pdf файлы, то когда юзер их откроет он запросто может эти файлы пересохранить, и в итоге твой изврат не нужен.

Как бы, если из твоей проги юзер нажмем "почитать Шилдта" и PDF вызовется, он эту PDF запросто сохранит из Acrobat Reader , как бы смысла такой защиты не вижу...

Объясни, может я не понимаю идею smile

Автор: DenWPF 30.8.2010, 09:35
сам zip изначально на сервере лежит, при скачивании, он записываеться на компьютер уже шифрванный, и его нельзя открыть без программы, и открывается все в программе, не какие другие программы использоваться не будут.

Автор: reborn 30.8.2010, 13:24
DenWPF, ну тогда играйся с BitConverter, MemoryStream && GZipStream.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)