【发布时间】:2020-06-17 15:10:57
【问题描述】:
我有一个脚本可以在 Umbraco 的媒体页面中创建一个条目。这个想法是我通过 FTP 将视频上传到服务器中。现在我有一个按钮,我将单击该按钮依次调用 API。此 API 将运行一个脚本,该脚本将在创建媒体条目后以编程方式创建它将删除该文件。使用这种方法,即使文件很大,我也可以在 Umbraco 中创建媒体。现在,当文件非常大时,我遇到了超时问题。有什么解决方法吗?我正在为我的应用程序使用 Azure Web App Service。如何解决这个超时问题?
下面是我的代码
string[] filePaths = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + "uploads");
foreach (string filePath in filePaths)
{
using (Stream stream = System.IO.File.OpenRead(filePath))
{
string filename = Path.GetFileName(filePath);
string mediaType = Constants.Conventions.MediaTypes.File;
string ext = Path.GetExtension(filename);
if (ext == ".jpg" || ext== ".png" || ext == ".gif" || ext == ".jpeg") {
mediaType = Constants.Conventions.MediaTypes.Image;
}
IMedia media = Services.MediaService.CreateMedia(filename, Constants.System.Root, mediaType);
media.SetValue("umbracoFile", filename, stream);
Services.MediaService.Save(media);
media = null;
}
System.IO.File.Delete(filePath);
}
【问题讨论】:
-
<system.web> <compilation debug="true" targetFramework="4.5.2" /> <!--<httpRuntime targetFramework="4.5.2" />--> <httpRuntime targetFramework="4.5.2" executionTimeout="90" maxRequestLength="2097151" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100"/> </system.web> -
<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="2072576000"/> </requestFiltering> </security> </system.webServer> -
可以在web.config中配置。我的建议设置文件的最大大小是2G,你可以设置更高。期待您的测试结果。
标签: c# .net azure umbraco umbraco7