2014-10-06 2 views
0

У меня проблема с загрузкой документов с додзё. Я использую dojox/form/Uploader для загрузки файла с режимом в формате. После загрузки есть ответ с сервера в специальном формате. Загрузчик работает только тогда, когда я отправить его, как это:ASP.NET webAPI <--> Формат ответа на загрузку Dojo неправильный

Сервера: «{„имя“:„file.png“,„файл“:„Имя файла“,„типа“:„формы-данным“}»

Но ответ: Клиент: «'\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ «}»

Так я думаю, что есть два возможных пути решения этой проблемы:

A. Крепление его на стороне клиента B. Крепление его на стороне сервера

я не мог найти решение для Б. I'm с помощью ASP.NET WebAPI и создать réponse подобное:

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 

Выглядит странно, но ответ должен быть заключен в тег HTML, содержание JSON ,

Возможно, есть способ сказать webAPI не помещать эти лишние косы в ответ? Я сдался и решил сделать это на стороне клиента.

Проблема в том, что мне пришлось изменить файл iframe.js в библиотеке додзё, что очень плохо.

ответ

0

Я решил проблему сам, вот решение на стороне сервера:

json = System.Web.HttpUtility.HtmlEncode(json) 
Dim msg = "<textarea>" + json + "</textarea>" 

Файл загрузчиком додзё теперь понимает реакцию и может разобрать его правильно.

Смежные вопросы