首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有kendo ui客户端的C#将文件发送到服务器

带有kendo ui客户端的C#将文件发送到服务器
EN

Stack Overflow用户
提问于 2016-02-23 17:50:07
回答 1查看 1.4K关注 0票数 3

我试图使用Kendo将一个.xlsx文件发送到REST。但我迷路了。

我能打电话给我的服务部门,但我拿不到文件。我想我发错了。

不需要保存文件。我只需要读取.xlsx文件就可以将数据导入到数据库中。

html (没有表单):

代码语言:javascript
运行
复制
<div>
    <input name="files" id="files" type="file" />
    <button id="importButton">Import</button>
</div>

js:

代码语言:javascript
运行
复制
$("#files").kendoUpload({
    async: {
         autoUpload: true
    },
    select: onSelect
});

$("#importButton").kendoButton({
    click: onImport
});

function onImport() {
    var formData = new FormData();

    jQuery.each(jQuery('#files')[0].files, function (i, file) {
        formData.append('file-' + i, file);
    });

    $.ajax({
        type: "POST",
        url: url,
        data: formData,
        processData: false,
        cache: false,
        success: function (result) {
            alert("Ok");
        },
        error: function (result) {
            alert("Not Ok");
        }
    });
}

Server-side:

代码语言:javascript
运行
复制
[HttpPost, Route("import")]
public void Import()
{
    var streamProvider = new MultipartMemoryStreamProvider();
    Request.Content.ReadAsMultipartAsync<MultipartMemoryStreamProvider>(streamProvider).ContinueWith((tsk) =>
    {
        foreach (HttpContent ctnt in streamProvider.Contents)
        {
            Stream stream = ctnt.ReadAsStreamAsync().Result;
            // do something
        }
    });
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-24 19:37:28

明白了!

代码语言:javascript
运行
复制
$("#files").kendoUpload({
    async: {
        withCredentials: false,
        saveUrl: url,
        autoUpload: true
    },
    select: onSelect
});

这个答案帮助了我:Cross domain upload

@Brett是对的,实施kendUpload是正确的。我认为Import按钮应该有魔力,但我只需要使用kendoUpload。

谢谢!!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35584645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档