首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dojo Uploader HTML5插件vs Dojo插件

Dojo Uploader HTML5插件vs Dojo插件
EN

Stack Overflow用户
提问于 2014-03-18 01:55:33
回答 2查看 174关注 0票数 0

我正在考虑在Dojo 1.7.5中使用dojox/form/Uploader。

我想有多个文件上传,而不使用Flash在现代浏览器,如果IE不支持它,它可以只有一个上传。从文档(http://dojotoolkit.org/reference-guide/1.7/dojox/form/Uploader.html)中可以看出,如果您需要iFrame插件,它将为IE使用iFrame,为其他浏览器使用HTML5插件。

情况似乎就是这样。然而,问题是iFrame需要来自服务器的封装在文本区域HTML标记中的JSON响应。这些标记导致HTML5插件在this.onComplete(JSON.parse(xhr.responseText.replace(/^{}&&/,‘’)上的第168行失败;因为响应文本不是有效的JSON。

为什么会出现这种看似不兼容的情况?有没有办法在不写自己的插件的情况下获得我想要的行为?

EN

回答 2

Stack Overflow用户

发布于 2014-10-07 15:42:31

如果你还需要一个解决方案,我有一个。

你必须像这样发送消息:

代码语言:javascript
复制
Dim msg = "<textarea>'{" + Chr(34) + "name" + Chr(34) + ":" + Chr(34) + fileName + Chr(34) + "," + Chr(34) + "file" + Chr(34) + ":" + Chr(34) + returnData.Item1 + Chr(34) + "," + Chr(34) + "type" + Chr(34) + ":" + Chr(34) +   returnData.Item3 + Chr(34) + "}'</textarea>"
Dim response = Request.CreateResponse(Of String)(HttpStatusCode.Created, msg)
response.Content.Headers.ContentType = New MediaTypeHeaderValue("text/html")
Return response

在客户端,您必须更改iframe.js才能处理该响应。

代码语言:javascript
复制
function escapeRegExp(string) {
return string.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
}

function replaceAll(string, find, replace) {
return string.replace(new RegExp(escapeRegExp(find), 'g'), replace);
}

在函数“handleResponse”中:

代码语言:javascript
复制
// 'json' and 'javascript' and 'text'
response.text = doc.getElementsByTagName('textarea')[0].value; // text
response.text = eval(replaceAll(response.text, "\\", ""));

这不是一个好的解决方案,但我找不到另一个解决方案,因此我也写了一篇文章:ASP.NET webAPI <--> Dojo uploader response format is wrong

票数 0
EN

Stack Overflow用户

发布于 2014-10-07 17:29:46

我自己解决了这个问题,这是服务器端的解决方案:

代码语言:javascript
复制
json = System.Web.HttpUtility.HtmlEncode(json)
Dim msg = "<textarea>" + json + "</textarea>"

dojo文件上传器现在可以正确地解析响应。

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

https://stackoverflow.com/questions/22461761

复制
相关文章

相似问题

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