Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 19

Подправить код, чтобы можно было самому выбирать, какой файл загружать с жёсткого диска

02.02.2015, 13:27. Показов 2523. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите улучшить программу. Как правильно подправить код, чтобы можно было самому выбирать какой файл загружать с жёсткого диска.
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.StorageClient;
 
namespace WA_Storage_Client
{
    class Program
    {
        static void Main(string[] args)
        {
            CloudStorageAccount cloudStorageAccount;
            CloudBlobClient blobClient;
            CloudBlobContainer blobContainer;
            BlobContainerPermissions containerPermissions;
            CloudBlob blob;
 
            string Protocol;
            string AccountName;
            string AccountKey;
 
            Protocol = "DefaultEndpointsProtocol=http";
            AccountName = "myaccountname";
            AccountKey = "mykey";
 
            cloudStorageAccount = CloudStorageAccount.Parse(
                String.Format("{0};AccountName={1};AccountKey={2}", Protocol, AccountName, AccountKey)
                );
            blobClient = cloudStorageAccount.CreateCloudBlobClient();
            blobContainer = blobClient.GetContainerReference("mycontainer");
            blobContainer.CreateIfNotExist();
            containerPermissions = new BlobContainerPermissions();
            containerPermissions.PublicAccess = BlobContainerPublicAccessType.Blob;
            blobContainer.SetPermissions(containerPermissions);
            blob = blobContainer.GetBlobReference("penguins.jpg");
            blob.UploadFile(@"c:\pics\penguins.jpg");
            Console.WriteLine("Файл загружен по адресу" + blob.Uri);
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.02.2015, 13:27
Ответы с готовыми решениями:

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

Как сделать в коде программы, чтобы можно было вводить числа самому, а не случайно. (Код прилагается)
Доброго времени суток. Хочу узнать, как можно сделать вместо случайного ввода чисел заданый ввод. Нужно ввести вектор А, вместо его...

Установить загрузчик так, чтобы можно было выбирать ОС
Юзал убунту захотелось чего-то посерьезнее. У меня стояла Win 7,Оставил пространство под линух не размеченное.Установил туда линукс...

27
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 19
03.02.2015, 02:51  [ТС]
Студворк — интернет-сервис помощи студентам
Обычное консольное приложение, настройки не трогал, до ваших советов, так что всё стандартно было, только потом стал править по вашим советам. При изначально выложенном коде всё отлично получалось, но нельзя было выбирать файл после компиляции.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18419 / 14350 / 5371
Регистрация: 17.03.2014
Сообщений: 29,033
Записей в блоге: 1
03.02.2015, 10:18
Dolphin14d, не совсем обычное. Открой настройка проекта, закладка Security и включи "Enable ClickOnce Security Settings". После завершения отладки и перед deploy включишь обратно если нужно.
0
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 19
03.02.2015, 14:21  [ТС]
Не помогло, также нельзя вбить данные... Голова уже трещит( Не могу понять, что не так делаю...
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18419 / 14350 / 5371
Регистрация: 17.03.2014
Сообщений: 29,033
Записей в блоге: 1
03.02.2015, 15:24
Dolphin14d, такое ощущение что мы говорим о разных вещах. Если ты хочешь чтобы пользователь вводил путь к файлу, то делай так:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
static void Main(string[] args)
{
    const string Protocol = "DefaultEndpointsProtocol=http";
    const string AccountName = "myaccountname";
    const string AccountKey = "mykey";
    
    Console.Write("Введите путь к файлу: ");
    string filePath = Console.ReadLine();
    
    CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(
        String.Format("{0};AccountName={1};AccountKey={2}", protocol, accountName, accountKey)
    );
    CloudBlobClient blobClient = cloudStorageAccount.CreateCloudBlobClient();
    CloudBlobContainer blobContainer = blobClient.GetContainerReference("mycontainer");
    blobContainer.CreateIfNotExist();
    BlobContainerPermissions containerPermissions = new BlobContainerPermissions();
    containerPermissions.PublicAccess = BlobContainerPublicAccessType.Blob;
    blobContainer.SetPermissions(containerPermissions);
    CloudBlob blob = blobContainer.GetBlobReference(Path.GetFileName(filePath));
    blob.UploadFile(filePath);
    Console.WriteLine("Файл загружен по адресу" + blob.Uri);
    
    // Пауза перед выходом
#if DEBUG
    Console.WriteLine("Нажмите любую клавишу для выхода");
    Console.ReadKey();
#endif
}

Если хочешь передавать путь к файлу через командную строку, то так:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
static void Main(string[] args)
{
    if (args.Length != 1)
    {
        Console.WriteLine("Синтакс вызова: {0}.exe <путь к файлу>", Process.GetCurrentProcess().ProcessName);
    }
    else
    {
        const string Protocol = "DefaultEndpointsProtocol=http";
        const string AccountName = "myaccountname";
        const string AccountKey = "mykey";
        
        string filePath = args[0];
        
        CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(
            String.Format("{0};AccountName={1};AccountKey={2}", protocol, accountName, accountKey)
        );
        CloudBlobClient blobClient = cloudStorageAccount.CreateCloudBlobClient();
        CloudBlobContainer blobContainer = blobClient.GetContainerReference("mycontainer");
        blobContainer.CreateIfNotExist();
        BlobContainerPermissions containerPermissions = new BlobContainerPermissions();
        containerPermissions.PublicAccess = BlobContainerPublicAccessType.Blob;
        blobContainer.SetPermissions(containerPermissions);
        CloudBlob blob = blobContainer.GetBlobReference(Path.GetFileName(filePath));
        blob.UploadFile(filePath);
        Console.WriteLine("Файл загружен по адресу" + blob.Uri);
    }
    
    // Пауза перед выходом
#if DEBUG
    Console.WriteLine("Нажмите любую клавишу для выхода");
    Console.ReadKey();
#endif
}

Для отладки второго варианта путь нужно указывать в настройках отладки и "Enable ClickOnce Security Settings" должно быть выключено.
1
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 19
03.02.2015, 18:40  [ТС]
Первый вариант тот, что нужен был, спасибо огромное)
Ещё вопрос такой:
Что нужно прописать в коде, чтобы имя файла в хранилище было присвоено автоматически, т.е.:
сейчас при загрузке файла (допустим penguins.jpg) в хранилище, его путь в хранилище: https://bla-bla/mycontainer/penguins.jpg.
А нужно, чтобы было так: https://bla-bla/mycontainer/da... l4k3jgsfkj (такой вот набор символов к примеру, автогенерирующийся(не повторяющийся) при загрузке каждого нового файла.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18419 / 14350 / 5371
Регистрация: 17.03.2014
Сообщений: 29,033
Записей в блоге: 1
03.02.2015, 19:38
Dolphin14d, алгоритмы можно разные придумать. Например, случайный Guid и Base64 или случайный Guid + случайные байты и Base64:
C#
1
2
3
4
string id = Convert.ToBase64String(Guid.NewGuid().ToByteArray())
                   .Replace("+", "")
                   .Replace("=", "")
                   .Replace("/", "");
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
string GetUniqueId()
{
    byte[] buf1 = Guid.NewGuid().ToByteArray();
    byte[] buf2 = new byte[4];
    var r = System.Security.Cryptography.RNGCryptoServiceProvider.Create();
    r.GetBytes(buf2);
    
    byte[] buf = new byte[buf1.Length + buf2.Length];
    Array.Copy(buf1, buf, buf1.Length);
    Array.Copy(buf2, 0, buf, buf1.Length, buf2.Length);
    
    return Convert.ToBase64String(buf).Replace("+", "").Replace("=", "").Replace("/", "");
}
1
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 19
04.02.2015, 03:12  [ТС]
К сожалению ни один из вариантов не возымел успеха, результат тотже, выводит: http://путь/penguins.jpg
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18419 / 14350 / 5371
Регистрация: 17.03.2014
Сообщений: 29,033
Записей в блоге: 1
04.02.2015, 13:10
Dolphin14d, возможно Windows Azure это не позволяет. Читай документацию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.02.2015, 13:10

Как сделать, чтобы можно было выбирать нужный COM-порт в combobox
на данный момент программа работает только для определенного порта1: CONST WCHAR COM_string = L&quot;COM1&quot;; как сделать , чтобы...

Как вставить таймер в код что бы можно было выбирать?
Не могу встаить в код таймер так, что бы можно было сделать выбор, помогите пожалуйста, вот эта часть кода: for i:=60 downto 0 do ...

4 разные ОС на один HDD чтобы при старте можно было выбирать загружаемую ОС
Для тестирования карты PCIe на разных ОС хочу взять HDD 160Гб, разбить его на 4 партишена и поставить на каждый партишен по одной из...

Создать графическое меню, чтобы там можно было стрелками выбирать вариант
помогите пожалуйста создать графическое меню чтобы там можно было стрелками выбирать вариант program p1; uses Crt; var...

Как настроить загрузчик, чтобы можно было выбирать между Win 8 и Ubuntu?
На компе установлена Win 8 на компе один HHD который был разбит на 3 раздела, я выделил 4 раздел и отформатировал его в ext3 после чего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru