rest - 通过 ajax 将大文件 (200+ mbs) 从本地上传到 sharepoint 2013
问题描述
我正在尝试通过 Ajax 将文件上传到 sharepoin 2013 上的库。我正在使用以下代码:
function uploadFileee(file) {
// var file = element.files[0];
console.log(file);
var reader = new FileReader();
reader.onload = function (e) {
enviar(e.target.result, file.name);
}
reader.onerror = function (e) {
alert(e.target.error);
}
//reader.readAsArrayBuffer(file);
reader.readAsArrayBuffer(file);
function enviar(file, name) {
var url = String.format(
"{0}/_api/Web/Lists/getByTitle('{1}')/RootFolder/Files/Add(url='{2}', overwrite={3})",
_spPageContextInfo.webAbsoluteUrl, "TreinamentoLib", name, "true");
console.log(url);
jQuery.ajax({
url: url,
type: "POST",
data: file,
processData: false,
headers: {
Accept: "application/json;odata=verbose",
"X-RequestDigest": jQuery("#__REQUESTDIGEST").val()
},
success: function (data) {
console.log("sucesso");
},
error : function(err)
{
console.log("erro");
}
})
}
}
只要文件低于 200mb,它就可以正常工作,但大于这个值,浏览器就会崩溃。
块只能在 sharepoint 的在线版本上工作.. 不能让它在 On Premise 上工作。虽然已经在 C# 中创建 webApi 来接收块并将其组合在一起并将其上传到库中..
有人做过类似的事情吗?有人有什么建议吗?
解决方案
在 SharePoint On Premise 中,您可以尝试在“C:\Inetpub\wwwroot\wss\VirtualDirectories\<虚拟目录>”文件夹的 web.config 文件中增加 maxRequestLength="51200" executionTimeout="999999"。
或检查 Web 应用程序的最大上传大小:中央管理> 应用程序管理> 管理 Web 应用程序> 选择所需的 Web 应用程序,然后单击功能区上的常规设置。
推荐阅读
- linux - nmcli 比 netsh 稳定连接慢
- ios - 如何将 pod 发布到 jfrog Artifactory?
- swift - 禁用 Swift UIAlertController 按钮,直到输入验证
- tfs - 数据库项目上的新文件 (.sql) 未自动添加到 tfs
- azure - Azure - 从大于 4TB 的 VHD blob 创建磁盘
- angular - 我想为使用 TypeScript 创建的所有对象或引用创建扩展方法
- python - 如何在 txt 文件中选择某个字符串并将其列在 csv 文件中?
- android - 在图像视图的中心固定占位符
- c# - 添加斜杠 C# 等效项
- android - 解析失败:Lorg/apache/http/client/methods/HttpPost