文件处理
上传提供选项坚持最初选定的文件,批量上传的文件,选择上传文件,通过多个请求。
坚持最初的选择文件
你可以持续成功上传文件列表中,显示在页面加载时。可运行的例子,请参考演示在坚持最初选定的文件上传。
批量上传的文件
无论上传的操作方式是,它生成一个惟一的标识符(uid
每个文件)。如果使用上传的批处理
选项启用时,单uid
生成代表的批处理文件,同时选中。如果使用上传的批处理
选项残疾,uid
为每个单独的文件生成。
生成的uid
被添加到取消
,错误
,进步
,删除
,选择
,或上传
事件的一个属性e.files
收集。
从多个请求块上传的文件
剑道的UI 2017 R2释放,上传允许用户发送异步上传大文件通过多个请求到服务器并暂停和恢复文件上传,只要应用程序在浏览器中打开。
只有当可用的块上传功能是上传的异步操作方式。
使块上传
设置
async.chunkSize
选择上传的。输入名称' ' ' < = "文件" id = "文件" type = "文件" / > <脚本> $(文档)时(函数(){$(" #文件”)。kendoUpload({异步:{chunkSize: 11000 / /将单独的文件大小11000字节的块。removeUrl saveUrl:“chunkSave”:“删除”,autoUpload:真正}});});< /脚本> ' ' '
实现服务器端逻辑(即
serverUrl
行动是分配),处理文件块,并将其合并到文件。如何实现这一目标的更多信息,请参阅部分上服务器端实现。
修改部分上传
修改上传(微调)块,使用以下配置选项:
async.concurrent
同时控制是否上传选中的文件或一个接一个。async.autoRetryAfter
——在毫秒时间间隔上传尝试重试失败的上传。async.maxAutoRetries
——重试失败的尝试上传让之前上传报告。
<输入名称= "文件" id = "文件" type = "文件" / > <脚本> $(文档)时(函数(){$(" #文件”)。kendoUpload({异步:{chunkSize: 11000 / /将单独的文件大小11000字节的块。并发:真的,/ /将同时上传所有文件。autoRetryAfter: 300 / / 300毫秒后尝试上传失败的一部分。maxAutoRetries: 4 / /将尝试同一块上传失败4次。removeUrl saveUrl:“chunkSave”:“删除”,autoUpload:真正}});});> < /脚本
传输文件的一部分
块分开上传选中的文件块或blob数据。这些块会自动发送一个AJAX请求到服务器到目标设置的saveUrl
选择。因为块在一个特定的顺序发送,服务器将返回一个响应与块的元数据上传。这个响应指示上传它可以继续下一个块(“上传”:假的
)或下一个文件(“上传”:真的
)。
下面的例子演示了反应包括元数据。
{“上传”:真|假,/ /错误指示上传发送下一块数据。/ /正确表明最后一块处理,上传成功/ /下一个文件的上传可以继续。“fileUid”: / /上传的UID块数量,这样上传可以下一个块并将其发送。}
下面的示例演示了一个有效的服务器响应。
{“上传”:真的,“fileUid”:“b95ee9fa - 85 - e8 - 482 - c - 946 d - a12ed6dbefed "}
的服务器端实现块上传
服务器端实现完全取决于您的应用程序的需求和逻辑。
作为一个客户端解决方案,上传不处理验证。你需要处理文件和安全需求的验证在服务器上使用的应用程序逻辑。
下面的列表的剑道UI演示提供了服务器端逻辑处理块的例子: