小编asz*_*ski的帖子

Bootstrap 4 TypeScript类型定义无法编译-找不到模块'popper.js'

我试图建立一个TypeScript项目并在Visual Studio Code中与PopperjQueryKnockout一起使用bootstrap 4 。

我安装了剔除,jquery和bootstrap类型定义,

npm install -–save @types/knockout
npm install -–save @types/jquery
npm install --save @types/bootstrap
Run Code Online (Sandbox Code Playgroud)

在require.js配置中引用了JS文件

declare var require: any;
require.config({
    paths: {
        "knockout": "externals/knockout-3.5.0",
        "jquery": "externals/jquery-3.3.1.min",
        "popper.js": "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js",
        "bootstrap": "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
    }
})
Run Code Online (Sandbox Code Playgroud)

我的tsconfig.json是这样的:

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": { 
            "*": ["types/*"] 
        },
        "outDir": "./built/",
        "sourceMap": true,
        "noImplicitAny": true,
        "module": "amd",
        "target": "es5"
    },
    "files":[
        "src/require-config.ts",
        "src/hello.ts"
    ]
}
Run Code Online (Sandbox Code Playgroud)

我去编译该项目,但出现以下错误:

node_modules/@types/bootstrap/index.d.ts:9:25 - error TS2307: Cannot find module 'popper.js'. …
Run Code Online (Sandbox Code Playgroud)

compiler-errors typescript bootstrap-4 type-definition popper.js

7
推荐指数
1
解决办法
1166
查看次数

由于请求正文为大,将大文件上传到 ASP.NET Core 3.0 Web API 失败

我有一个 ASP.NET Core 3.0 Web API 端点,我已将其设置为允许我发布大型音频文件。我已按照 MS 文档中的以下说明设置端点。

https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-3.0#kestrel-maximum-request-body-size

当音频文件上传到终结点时,它会流式传输到 Azure Blob 存储容器。

我的代码在本地按预期工作。

当我在 Linux 上的 Azure 应用服务中将它推送到我的生产服务器时,代码不起作用并且出现错误

请求管道中未处理的异常:System.Net.Http.HttpRequestException:发送请求时发生错误。---> Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException:请求主体太大。

根据上述文章的建议,我使用以下内容配置了增量更新的 Kesterl:

.ConfigureWebHostDefaults(webBuilder =>
{
     webBuilder.UseKestrel((ctx, options) =>
     {
        var config = ctx.Configuration;

        options.Limits.MaxRequestBodySize = 6000000000;
        options.Limits.MinRequestBodyDataRate =
            new MinDataRate(bytesPerSecond: 100,
                gracePeriod: TimeSpan.FromSeconds(10));
        options.Limits.MinResponseDataRate =
            new MinDataRate(bytesPerSecond: 100,
                gracePeriod: TimeSpan.FromSeconds(10));
        options.Limits.RequestHeadersTimeout =
                TimeSpan.FromMinutes(2);
}).UseStartup<Startup>();
Run Code Online (Sandbox Code Playgroud)

还配置了 FormOptions 以接受最多 6000000000 个文件

services.Configure<FormOptions>(options =>
{
   options.MultipartBodyLengthLimit = 6000000000;
});
Run Code Online (Sandbox Code Playgroud)

根据文章中的建议,还设置具有以下属性的 API 控制器

[HttpPost("audio", Name="UploadAudio")]
[DisableFormValueModelBinding]
[GenerateAntiforgeryTokenCookie]
[RequestSizeLimit(6000000000)]
[RequestFormLimits(MultipartBodyLengthLimit = 6000000000)]
Run Code Online (Sandbox Code Playgroud)

最后,这是动作本身。这个巨大的代码块并不表示我希望如何编写代码,但作为调试练习的一部分,我已将其合并到一个方法中。 …

asp.net-mvc azure asp.net-core asp.net-core-webapi

5
推荐指数
1
解决办法
3226
查看次数