🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

1回答

850閲覧

C#を使って公開サーバーにあるzipフォルダをダウンロードしたいのですがうまく機能しません...

nguyenseiji

総合スコア156

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2021/02/02 10:04

編集2021/02/02 10:06

お世話になっております
C#フォームを使用してボタンを押したらzipフォルダをダウンロードしたいのですが
うまく機能しません。。

URLからのダウンロードになります

1つだけのファイルの場合はうまくいきます
zipとフォルダですとうまくダウンロードができません..

参考サイト
https://www.youtube.com/watch?v=KxiHM3pQbGQ&t=147s

ちなみになのですが複数のファイルを1つのファイルにまとめる方法などはあるのでしょうか
やはりそちらの方が良いのでしょうか

C#

1using System; 2using System.Collections.Generic; 3using System.ComponentModel; 4using System.Data; 5using System.Drawing; 6using System.Linq; 7using System.Text; 8using System.Threading.Tasks; 9using System.Windows.Forms; 10using System.Net; 11using System.Threading; 12 13 14 15 16namespace WindowsFormsApp1 17{ 18 public partial class Form1 : Form 19 { 20 public Form1() 21 { 22 InitializeComponent(); 23 } 24 25 26 27 WebClient client; 28 29 30 31 32 33 34 35 36 private void btnDounload_Click(object sender, EventArgs e) 37 { 38 39 string url = txtUrl.Text; 40 if (!string.IsNullOrEmpty(url)) 41 { 42 Thread thread = new Thread(() => 43 { 44 Uri uri = new Uri(url); 45 string fileName = System.IO.Path.GetFileName(uri.AbsolutePath); 46 client.DownloadFileAsync(uri, Application.StartupPath + "/" + fileName); 47 }); 48 49 thread.Start(); 50 } 51 } 52 53 54 55 56 private void Form1_Load(object sender, EventArgs e) 57 { 58 client = new WebClient(); 59 client.DownloadProgressChanged += Client_DownloadProgressChanged; 60 client.DownloadFileCompleted += Client_DownloadFileCompleted; 61 } 62 63 64 65 private void Client_DownloadFileCompleted(object sender ,AsyncCompletedEventArgs e) 66 { 67 MessageBox.Show("Download complete !", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); 68 69 } 70 71 72 73 74 private void Client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e) 75 { 76 Invoke(new MethodInvoker(delegate () 77 { 78 progressBar.Minimum = 0; 79 double receive = double.Parse(e.BytesReceived.ToString()); 80 double total = double.Parse(e.TotalBytesToReceive.ToString()); 81 double percentage = receive / total * 100; 82 lblStatus.Text = $"Downloded {string.Format("{0:0.##}", percentage)}%"; 83 progressBar.Value = int.Parse(Math.Truncate(percentage).ToString()); 84 85 })); 86 87 } 88 89 90 } 91 92 } 93

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

できました!!
URL間違えていました

投稿2021/02/02 10:09

編集2021/02/02 11:13
nguyenseiji

総合スコア156

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/02/02 11:08

質問と回答使っただけのただの宣伝と解釈できるので低評価しました。 インデントなど含めて指南されないなら良い動画とは言えませんね。 (動画見てませんが、このコードがその動画を見て、ということなら)
m.ts10806

2021/02/02 11:18

全部言わないと分からないのもしんどいですね。 >https://teratail.com/help#resolve-myself >また後から読む人のためにも、具体的な解決手順を記載してください。 言語変えてもやることは同じです。 「プログラミング」ができてなければ何を真似してもできることはないでしょう。
nguyenseiji

2021/02/02 12:37

やりながら覚える派なので....
gentaro

2021/02/02 15:00

何派でもいいけど > また後から読む人のためにも、具体的な解決手順を記載してください。 に従わないのは明確なガイドライン違反だから是正して。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問