小编Bre*_* JB的帖子

从 Blazor Web assembly 流式传输大文件?

我想从 Blazor Web assembly 应用程序将视频(最大 2GB)上传到我的 asp net core / 5 服务器。

我成功地将 IformFile 用于较小的文件,并且效果很好。

我研究了各种来源:这篇文章在基础知识和使其发挥作用方面非常有帮助。 这也非常具有解释性,并提供了一种获取上传进度的方法 - 这是我想要的

我还使用了来自 Microsoft 的使用流的示例,我构建了 MVC 应用程序并使其工作并在 Blazor 应用程序中进行了尝试,两者都使用 Javasript 表单(工作正常,但我不知道如何取得进展)并使用适用于较小文件的代码,但当我尝试使用 1.4GB 的巨大文件时,它会耗尽内存。

服务器控制器非常简单,来自 .Net 示例:

    [HttpPost]
    [DisableFormValueModelBinding]
    [RequestSizeLimit(4294967296)]
    [RequestFormLimits(MultipartBodyLengthLimit = 4294967296)]

    //[ValidateAntiForgeryToken] (just for now..)
    [Route("UploadFile")]
    public async Task<IActionResult> UploadFile()
    {
        if (!MultipartRequestHelper.IsMultipartContentType(Request.ContentType))
        {
            ModelState.AddModelError("File", 
                $"The request couldn't be processed (Error 1).");
            // Log error

            return BadRequest(ModelState);
        }

        var boundary = MultipartRequestHelper.GetBoundary(
            MediaTypeHeaderValue.Parse(Request.ContentType),
            _defaultFormOptions.MultipartBoundaryLengthLimit);
        var reader = new MultipartReader(boundary, …
Run Code Online (Sandbox Code Playgroud)

c# file-upload .net-core blazor-webassembly

6
推荐指数
1
解决办法
2827
查看次数

提取 Typescript 对象中 ENUM 的字符串值

我有一个枚举:

export enum DistanceMeasure {
Miles, Kilometers
Run Code Online (Sandbox Code Playgroud)

}

在用户对象中使用:

export class User {
... some stuff
MaxTravelDistance:  number;
DistanceMeasure:    DistanceMeasure;
MaxTravelTime:      TimeSpan;
... some more stuff
Run Code Online (Sandbox Code Playgroud)

}

因此,距离测量的信息来自服务器,为 0(零)或 1,这很好。但我需要提供字符串,例如“Miles”。

在我的(Angular/Ionic)应用程序中,输出

      console.log(user.DistanceMeasure);
Run Code Online (Sandbox Code Playgroud)

是“0”(零)。但是我读到要提取枚举字符串,您应该将其用作索引。如果我做:

      console.log(user.DistanceMeasure[0]);
Run Code Online (Sandbox Code Playgroud)

它返回为未定义。

这是为什么?因为 user.DistanceMeasure 是 DistanceMeasure 类型?它不再是一个枚举吗?谢谢。

enums typescript

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

Visual Studio 2015 CTP5 Android Emulator环回到localhost?

我使用VS 2013连接新的VS2015 Android模拟器.这似乎现在工作,我可以调试,设置断点等等都很好.(现在,我会使用VS2015,但它无法正常部署 - 无论何时).我也在我的机器上开发服务器应用程序并使用Fiddler作为http调试帮助..我不确定这种情况并非罕见.

服务器正在使用IIS Express运行(也在VS 2013的另一个实例中调试),并且我已经添加了对applicationhost.config的绑定,因此IISExpress服务器在我的LAN上可以从其他PC上看到,我已经检查过它是可见的.

尝试我可能似乎无法让模拟器将http请求发送回我的计算机.我的javascript使用服务库来保存网址:

var serviceBase = 'http://192.168.2.4:64963/'; //'http://169.254.220.177:64963/';  //'http://10.0.2.2:64963/'; //'http://localhost:64963/';
Run Code Online (Sandbox Code Playgroud)

评论的那些显示了我尝试过的那些.这些都不起作用..首先是我的机器在局域网上的IP,其余的是我在这里选择的各种或Android开发站点..我也尝试过:

http://mymachinename:64963
Run Code Online (Sandbox Code Playgroud)

因为我从这个URL带来了Web和API服务,所以我也在我真正的Android手机上尝试了一个Chrome浏览器(在我的局域网上通过wifi),这也无法进入我的开发机器(我的其他电脑可以).所以我知道它可能无法解析名字?但真的不确定下一步该去哪儿?我想知道我的电脑上的Hosts文件,但不确定我是否可以/应该将IP地址设置为主机名?..任何指针?谢谢,布雷特

android visual-studio-cordova

4
推荐指数
1
解决办法
3586
查看次数

尝试删除 Azure blob - 获取 blob 不存在异常

我有一个带有 blob (/images/filename) 的 Azure 存储容器。文件名(uri)在创建时存储在数据库中,来自文件上传保存函数:

        blob.UploadFromStream(filestream);
        string uri = blob.Uri.AbsoluteUri;
        return uri;
Run Code Online (Sandbox Code Playgroud)

文件上传工作正常,当使用 SAS 密钥下载传递到客户端时也工作正常。

来删除图像我有一个辅助函数,该函数取自此处的 MS 示例:MS Github 示例 这是该函数:

    internal bool DeleteFile(string fileURI)
    {
        try
        {
            Uri uri = new Uri(fileURI);
            string filename = Path.GetFileName(uri.LocalPath);
            CloudBlockBlob fileblob = container.GetBlockBlobReference(filename);
            fileblob.Delete();
            bool res = fileblob.DeleteIfExists();
            return res; //Ok
        }
        catch(Exception ex)
        {
            Console.WriteLine(ex);
            return false;
        }

    }
Run Code Online (Sandbox Code Playgroud)

这一切都在一个助手类中,该类的开头如下:

public class AzureHelpers
{
    private string connection;
    private CloudStorageAccount storageAccount;
    private CloudBlobClient blobClient;
    private CloudBlobContainer container;


    public AzureHelpers()
    { …
Run Code Online (Sandbox Code Playgroud)

c# azure azure-blob-storage

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