在 Alfresco Community 5.2 上使用自定义 webscript 上传文件大小限制
Upload file size limit with custom webscript on Alfresco Community 5.2
我需要帮助通过共享 java 脚本将文档内容上传回 Alfresco Community 5.2。
目标noderef已经存在,我上传一个新版本的文档。
我无法使用 api/upload
网络服务,因为我还需要对 noderef 进行一些操作,并且我有一个需要转换的文件的 base64 内容。
所以我写了一个新的 webscript 并且一切正常,至少在我上传小于 3MB 的文档时,
这是代码
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 时 java class webscript 后面没有收到任何字节
更新
经过一些研究,我发现这可能是数据如何通过 POST 传递的问题,因为 application/x-www-form-urlencoded 而不是 multipart/form-data,但我找不到方法在ajax请求
中指定请求内容类型
解决方案
问题是 application/x-www-form-urlencoded 而不是 multipart/form-data,我使用了 所述的获取 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) {
}
});
参考 link : https://blog.arvixe.com/sending-multipart-form-using-ajax/
希望对您有所帮助。
我需要帮助通过共享 java 脚本将文档内容上传回 Alfresco Community 5.2。 目标noderef已经存在,我上传一个新版本的文档。
我无法使用 api/upload
网络服务,因为我还需要对 noderef 进行一些操作,并且我有一个需要转换的文件的 base64 内容。
所以我写了一个新的 webscript 并且一切正常,至少在我上传小于 3MB 的文档时,
这是代码
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 时 java class webscript 后面没有收到任何字节
更新
经过一些研究,我发现这可能是数据如何通过 POST 传递的问题,因为 application/x-www-form-urlencoded 而不是 multipart/form-data,但我找不到方法在ajax请求
中指定请求内容类型解决方案
问题是 application/x-www-form-urlencoded 而不是 multipart/form-data,我使用了
上周,我在 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) {
}
});
参考 link : https://blog.arvixe.com/sending-multipart-form-using-ajax/
希望对您有所帮助。