ここに、他の有効な回答と一緒に自分の回答を追加します。まず、完全な関数ではなく、success関数で返された応答を取得する必要があります。
$("#files").kendoUpload({
async: {
saveUrl: url,
removeUrl: removeUrl,
autoUpload: true
},
select: onFileSelect, // function for when a file is selected
success: onFileSuccess, // function that returns response after upload
complete: onFileComplete, // function after success
remove: onFileRemove, // function for when a file is removed
});
on success関数はオブジェクトを返します(通常、人々はそれをeと名付けます)
function onFileSuccess(e) {
console.log("e.response", e.response);
console.log("e.operation", e.operation);
console.log("e.XMLHttpRequest.status", e.XMLHttpRequest.status);
//e.operation is upload or remove
if (e.operation === "upload") {
// a file was added, get the response
var fileid = e.response;
} else {
// Do something after a file was removed
}
}
console.logエントリは次のデータを返します。
console.log値
サーバーからデータを返す方法は次のとおりです。
public HttpResponseMessage InsertTempFile()
{
HttpPostedFile file = System.Web.HttpContext.Current.Request.Files[0];
//........
// Code that adds my file to the database
// and generates a new primary key for my file
//.........
var response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StringContent(myNewId.ToString());
return response;
}
response.Contentはe.responseで新しいIDを返しますHttpStatusCode.Okは私のステータス200を返します。応答を調べると、他にもたくさんのデータが返されます。
HttpResponseMessageとHttpStatuseCodeを使用するには、クラスに次の名前空間を含める必要があることに注意してください。
using System.Net.Http;
using System.Net;