- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现一个程序,该程序将从youtube下载视频文件。我已经编写了这个具有两个文件的小型Windows控制台应用程序。
Downloader.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using VideoLibrary;
using System.IO;
namespace AsyncAwait
{
public class Downloader
{
public Task DownloadFilesAsync()
{
// In the Real World, we would actually do something...
// For this example, we're just going to print file 0, file 1.
//this will execute the function in a strictly sequential manner.
//await DownloadFile0();
//await DownloadFile1();
//var task1 = DownloadFile0();
//var task2 = DownloadFile1();
//return Task.WhenAll(task1, task2);
//var tasks = new Func<Task>[]
//{
// () => DownloadFile(1),
// () => DownloadFile(2),
// () => DownloadFile(3),
// () => DownloadFile(4),
// () => DownloadFile(5)
//};
//return Task.WhenAll(tasks.Select(task => task()).ToArray());
var tasks2 = new Func<Task>[]
{
() => DownloadYoutubeVideo("https://www.youtube.com/watch?v=OGxgnH8y2NM"),
() => DownloadYoutubeVideo("https://www.youtube.com/watch?v=FNQxxpM1yOs"),
};
return Task.WhenAll(tasks2.Select(task => task()).ToArray());
}
private void SaveVideoToDisk(string link)
{
var youTube = YouTube.Default; // starting point for YouTube actions
var video = youTube.GetVideo(link); // gets a Video object with info about the video
File.WriteAllBytes(@"C:\" + video.FullName, video.GetBytes());
}
public async Task DownloadYoutubeVideo(string link)
{
await Task.Run(() => SaveVideoToDisk(link));
}
public async Task DownloadFile(int TaskNumber)
{
int count = 0;
while (count < 100)
{
Console.WriteLine("Downloading File {0,2} ----> {1,3}%", TaskNumber, count);
await Task.Delay(100);
count++;
}
await Task.Delay(100);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AsyncAwait
{
class Program
{
static void Main(string[] args)
{
Downloader d = new Downloader();
d.DownloadFilesAsync().Wait();
Console.WriteLine("finished");
}
}
}
Unhandled Exception: System.AggregateException: One or more errors occurred. ---> System.UnauthorizedAccessException: Access to the path 'C:\Practical Machine Learning Tutorial with Python Intro p.1 - YouTube.mp4' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.File.InternalWriteAllBytes(String path, Byte[] bytes, Boolean checkHost)
at System.IO.File.WriteAllBytes(String path, Byte[] bytes)
at AsyncAwait.Downloader.SaveVideoToDisk(String link) in C:\Software\csharppen\AsyncAwait\AsyncAwait\Downloader.cs:line 50
at AsyncAwait.Downloader.<>c__DisplayClass2_0.<DownloadYoutubeVideo>b__0() in C:\Software\csharppen\AsyncAwait\AsyncAwait\Downloader.cs:line 55
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at AsyncAwait.Downloader.<DownloadYoutubeVideo>d__2.MoveNext() in C:\Software\csharppen\AsyncAwait\AsyncAwait\Downloader.cs:line 55
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at AsyncAwait.Program.Main(String[] args) in C:\Software\csharppen\AsyncAwait\AsyncAwait\Program.cs:line 14
最佳答案
您创建此目录了吗?
“带有Python入门p.1的C:\ Practical Machine Learning教程-YouTube.mp4”
框架正在尝试访问此路径
关于c# - 使用C#应用下载youtube文件会产生UnauthorizedAccessException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46695055/
我在使用 NUnit 和 WatiN 运行任何测试时收到 UnauthorizedAccessException 错误: Test Test.IndexTests.Can_Do' failed: Wa
使用这段代码: DirectoryInfo info = new DirectoryInfo("\\s01\sharedfolder\folder"); FileInfo[] files = info
我正在创建一个应用程序来查找文件中的重复项。当我搜索文件时: try { string[] allFiles = Directory.GetFiles( directoryPa
我在指定位置创建一个目录,然后尝试使用 StreamWriter 访问它,但它一直显示“访问被拒绝。” 有人知道会发生什么吗? 我的代码是这样的: if (!Directory.Exists(
根据 MSDN,Directory.Exists如果目录不可访问,则应返回 false。我有一个 Directory.Exists 返回 true 但 Directory.GetFiles 抛出 Sy
我正在尝试遍历开始菜单上的项目,但我一直收到 UnauthorizedAccessException。我是目录的所有者,我的用户是管理员。 这是我的方法(它在一个 dll 项目中): // root
我有 ASP Web API,我正在尝试从那里的调用返回一个文件。 在我的服务器上,我不断收到错误: System.UnauthorizedAccessException: Access to the
我有一个简单的方法来计算目录和其中所有文件的大小。这是代码: using System; using System.IO; namespace MyProject.Libs { public
当我试图在 Registry.ClassesRoot 中创建一个子项时,我得到一个 System.UnauthorizedAccessException!我用的是win7。有谁知道为什么吗? 最佳答案
我正在 COM 端口上进行 C# 编码,我无法理解这个异常的含义,我试图在我的书和网上找到答案,但没有好消息。 所以我的问题是如何找到正确的异常名称的定义(我从网上复制了这段代码)。2. 这个前任是什
在读取或写入(创建文件)到随机文件夹时,我收到随机用户关于 UnauthorizedAccessException 的随机报告。通常放在自己的Documents文件夹中。而更多的问题是,当应用程序无法
我正在编写回归测试,需要手动将文件从一个位置移动到另一个位置。每次发生 UnauthorizedAccessException 时,我假设这与必须从中移动文件的文件夹的权限有关?我检查了文件属性,它没
我在尝试打开互斥量时遇到此异常(它只是有时发生;大多数调用都是成功的): System.UnauthorizedAccessException: Access to the path 'Global\
我有一个应用程序正在通过一些文件查找旧数据。为了确保我们不会破坏好的项目,我将文件复制到一个临时位置。我检查的一些目录是源代码目录,它们有 .svn 文件夹。我们使用 Subversion 来管理我们
偶尔,我的一些集成测试会因上述消息而失败。我正在使用下面的代码来准备端口。 for(int i = 0; i < 5; i++) {
我正在尝试通过这种方式从文件夹中获取所有文件: try { string[] files = Directory.GetFiles(folderBrowserDialog1.SelectedP
这个问题在这里已经有了答案: DeleteSubKey UnauthorizedAccessException (1 个回答) 关闭 5 年前。 我有一个 C# 应用程序,我正在尝试通过注册表编辑服
我正在尝试编写一个快应用来修改一些注册表项。当我通过 RegEdit 浏览时,我可以毫无问题地修改和删除 key 。 但是当我尝试使用 RegistryKey.DeleteSubKey() 时,它会抛
我正在研究如何将 Windows 上下文菜单中的快捷方式 添加到我的应用程序。我遇到了this文章,我试过了。这是它用于在注册表中创建 key 的代码。 private void btnAddMenu
在我拥有的 Windows 应用程序中,我在注册表中进行了一些更改,例如删除特定键,在某些测试场景中,例如在安装了 UAC 的 Vista 机器中,我得到了 System.UnauthorizedAc
我是一名优秀的程序员,十分优秀!