我在我的 ASP.NET MVC Web 应用程序中使用Uppy.io作为客户端 tus.io 实现。
并且tusdotnet v2.0.0作为 ASP.NET Core Web API 中的服务器端。
它一直运行良好,但我们如何将文件上传限制为仅对经过身份验证的用户?
这是我的 Razor 页面的代码片段:
var uppy = new Uppy.Core({ debug: true, autoProceed: false });
var uppy = new Uppy.Core(
{
debug: true
, autoProceed: false
, allowMultipleUploads: true
, restrictions: {
maxFileSize: 157286400,
allowedFileTypes: ['application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/zip']
}
}
);
uppy.use(Uppy.Dashboard, {
trigger: '.UppyModalOpenerBtn',
inline: true,
target: '.DashboardContainer'
});
uppy.use(Uppy.Tus10, { endpoint: '@ViewBag.APIURL' });
uppy.run();
Startup.cs 的 Configure 方法中来自 .NET Core 项目的代码片段:
app.UseAuthentication();
app.UseTus(context => new DefaultTusConfiguration
{
UrlPath = "/files",
Store = new TusDiskStore(Path.Combine(env.ContentRootPath, @"uploads\tusio")),
OnUploadCompleteAsync = async (fileId, store, cancellationToken) =>
{
//var file = await (store as ITusReadableStore)
// .GetFileAsync(fileId, cancellationToken);
//return fileId;
}
});
一切正常,但我不希望 WebAPI 保存匿名用户发送的文件。
任何解决方案或解决方法将不胜感激。谢谢。