【问题标题】:Kendo chunk upload not split the uploaded file剑道块上传不分割上传的文件
【发布时间】:2019-03-29 16:47:35
【问题描述】:

我是使用kendoUpload 控件的新手(Kendo UI v2014.3.1316),带有chunk 上传选项。我有一个网络应用程序,并使用kendoupload 控件上传文件,它需要块上传功能,因为有机会上传更大的文件。请在下面查看我的代码。

HTML

<input name="upload" id="mediaflUpload" type="file" />

.js

 $("#mediaflUpload").kendoUpload({
    async: {

        chunkSize: 5000000, // Will separate the file into chunks of size 5000000 bytes.
        concurrent: true, // Will upload all files simultaneously.
        autoRetryAfter: 300, // Will attempt a failed chunk upload after 300ms.
        maxAutoRetries: 4, // Will attempt the same failed chunk upload 4 times.
        saveUrl: "/File/ChunkSave",
        removeUrl: "/File/Remove",
        autoUpload: true
    },
    multiple: false,
    success: OnSuccessMediaFileUpload,
    upload: OnUploadMediaFileUpload,
    error: OnErrorMediaFileUpload
});

function OnUploadMediaFileUpload(e) {
debugger;
//var data = result.response;

var chunkMetaData = {
    UploadUid: "mediaflUpload",
    FileName: '',
    ContentType: '',
    ChunkIndex: 1,
    TotalChunks: 1,
    TotalFileSize: 30000000
};

e.data = {
    metaData: JSON.stringify(chunkMetaData)
};
}

控制器

    public ActionResult ChunkSave(IEnumerable<HttpPostedFileBase> files, string metaData)
    {
        if (metaData == null) { 
            return Save(files);
        }

        MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(metaData));
        var serializer = new DataContractJsonSerializer(typeof(ChunkMetaData));
        ChunkMetaData somemetaData = serializer.ReadObject(ms) as ChunkMetaData;
        string path = String.Empty;
        // The Name of the Upload component is "files"
        if (files != null)
        {
            foreach (var file in files)
            {
                //path = Path.Combine(Server.MapPath("~/App_Data"), somemetaData.FileName);

                //AppendToFile(path, file.InputStream);
            }
        }

        FileResult fileBlob = new FileResult();
        fileBlob.uploaded = somemetaData.TotalChunks - 1<= somemetaData.ChunkIndex;
        fileBlob.fileUid = somemetaData.UploadUid;

        return Json(fileBlob);
    }

但我有一个困惑,剑道块没有按照chunkSize 变量分割文件。如果我上传一个 30 MB 的文件,它不会拆分 5 MB 的块。是否需要任何额外的编码?我不是chunk上传配置方面的专家。

【问题讨论】:

    标签: jquery asp.net-mvc kendo-ui kendo-asp.net-mvc chunking


    【解决方案1】:

    升级似乎是最好的方法 - 该功能是在 2017 年实施的,而您使用的是 2014 年版本。

    【讨论】:

      【解决方案2】:

      在我的问题中,我认为这是版本问题。我正在使用 Kendo UI v2014.3.1316 版本

      请看下面的截图。

      我还检查了发布历史页面。

      如果有人有建议,请提出建议。

      编辑

      我更新了 Kendo UI 版本 (2018.3.1017) 并实现了 Kendo MVC 块上传,现在它可以正常工作了。请参阅以下指向https://demos.telerik.com/aspnet-mvc/upload/chunkupload 参考的链接。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-19
        相关资源
        最近更新 更多