在Alfresco Community 5.2上使用自定义webscript上载文件大小限制
我需要帮助上传文件内容回到AlfrescoCommunity5.2通过共享javascript。 如果目标节点已存在,我将上载文档的新版本 我不能使用api/upload web服务,因为我还需要在noderef上执行一些操作,并且我有一个需要转换的base64文件内容 所以我写了一个新的webscript,它工作得很好,至少当我上传小于3MB的文档时 这是代码在Alfresco Community 5.2上使用自定义webscript上载文件大小限制,alfresco,alfresco-share,alfresco-webscripts,Alfresco,Alfresco Share,Alfresco Webscripts,我需要帮助上传文件内容回到AlfrescoCommunity5.2通过共享javascript。 如果目标节点已存在,我将上载文档的新版本 我不能使用api/upload web服务,因为我还需要在noderef上执行一些操作,并且我有一个需要转换的base64文件内容 所以我写了一个新的webscript,它工作得很好,至少当我上传小于3MB的文档时 这是代码 Alfresco.util.Ajax.request({ method: Alfresco.util.Ajax.PO
Alfresco.util.Ajax.request({
method: Alfresco.util.Ajax.POST,
dataObj: {
bytes: response.bytes,
digestAlgorithm: response.digestAlgorithm,
mimeType: response.mimeType.mimeTypeString,
name: response.name,
nodeRef: this.nodeRef,
signatureLevel: this.signatureLevel
},
url: thisClass.urlAlfrescoService + "myOrg/myPackage/uploadDocument",
successCallback: {
fn: thisClass._successOnUploadContent,
scope: this
},
failureCallback: {
fn: thisClass._errorOnUploadContent,
scope: this
},
scope: this,
noReloadOnAuthFailure: true
});
我是否错过了一些增加最大上传文件大小的选项?
我试着用拖放的方式正常上传文件,效果很好
问题是当文件>=3MB时,webscript后面的java类不会收到任何字节
使现代化
经过一些研究,我发现可能是数据如何通过POST传递的问题,因为应用程序/x-www-form-urlencoded而不是multipart/form数据,但我找不到在ajax请求中指定请求内容类型的方法
解决方案
问题是应用程序/x-www-form-urlencoded而不是多部分/form数据,我使用了如上所述的fetch-POST请求,但ajax请求解决方案也很好。上周,我在Alfresco 5.0.2.5上遇到了与Alfresco ajax请求类似的问题,我使用了jquery的ajax调用,它对我起到了作用
$.ajax({
url: Alfresco.constants.PROXY_URI + "your_web_script",
type: "POST",
data: dataFromFiles,
mimeType: "multipart/form-data",
contentType: false,
cache: false,
processData: false,
dataType: "text",
success: function(data, textStatus, jqXHR) {
},
error: function(jqXHR, textStatus, errorThrown) {
}
});
参考链接:
希望这对您有所帮助。我曾经使用过fetch POST request see,但基本上是相同的概念。问题是应用程序/x-www-form-urlencoded而不是多部分/form数据