gpt4 book ai didi

c# - 如何在 asp.net 应用程序中从 jquery 设置 HttpPost 端点

转载 作者:行者123 更新时间:2023-11-30 15:35:56 25 4
gpt4 key购买 nike

我正在尝试获取 Fine Uploader jQuery 示例工作。基本上它只是一种将文件从客户端页面上传到网络服务器的方法。

project's GitHub page 上有一个关于如何在服务器端设置文件流的例子。 .

我如何从脚本中调用这个 HttpPost endpoint?简单的 jQuery 示例如下所示:

$(document).ready(function () {
$('#jquery-wrapped-fine-uploader').fineUploader({
request: {
endpoint: 'WhatToWriteHere??'
},
debug: true
});
});

那么你在 endpoint 中输入什么?我想它会类似于 Namespace.Namespace.ClassName.UploadMethod(),但我一直在摆弄它,但无法让它工作。使用 Firebug 调试时,出现以下错误:

405 Method Not Allowed  
[FineUploader] xhr - server response received for 0
The HTTP verb POST used to access path '/FineUploaderTest/Uploadfolder' is not allowed.

有什么想法吗?

最佳答案

你可以写一个 generic HttpHandler处理文件上传:

public class UploadHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
var request = context.Request;
var formUpload = request.Files.Count > 0;

var xFileName = request.Headers["X-File-Name"];
var qqFile = request["qqfile"];
var formFilename = formUpload ? request.Files[0].FileName : null;

var filename = xFileName ?? qqFile ?? formFilename;
var inputStream = formUpload ? request.Files[0].InputStream : request.InputStream;

var filePath = Path.Combine(context.Server.MapPath("~/App_Data"), filename);
using (var fileStream = File.OpenWrite(filePath))
{
inputStream.CopyTo(fileStream);
}

context.Response.ContentType = "application/json";
context.Response.Write("{\"success\":true}");
}

public bool IsReusable
{
get { return true; }
}
}

然后:

$(document).ready(function () {
$('#jquery-wrapped-fine-uploader').fineUploader({
request: {
endpoint: '/uploadhandler.ashx'
},
debug: true
});
});

关于c# - 如何在 asp.net 应用程序中从 jquery 设置 HttpPost 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14333621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com