上载的文件未显示在asp.net web api控制器中
我试图建立一个简单的图像上传程序,但它不工作 我的代码如下。如果有人能弄明白这对我来说是救命的 谢谢 这是我的角度发球上载的文件未显示在asp.net web api控制器中,asp.net,angular,Asp.net,Angular,我试图建立一个简单的图像上传程序,但它不工作 我的代码如下。如果有人能弄明白这对我来说是救命的 谢谢 这是我的角度发球 postFiles(caption: string, filetouplaod: File) { const headerss = new HttpHeaders({ 'Content-Type': 'multipart/form-data', 'Authorization': this.globalsr.PrimaryTocken
postFiles(caption: string, filetouplaod: File) {
const headerss = new HttpHeaders({
'Content-Type': 'multipart/form-data',
'Authorization': this.globalsr.PrimaryTocken
})
let file: File = filetouplaod;
let formData: FormData = new FormData();
formData.append('uploadFile', file, file.name);
return this._http.post(`${this.globalsr.PrimaryAPI}Uploader/UploadSingleImage`, formData, {headers:headerss})
}
身份验证令牌
private\u primaryTocken:string="持票人研究者们在一个新的研究项目中使用了一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个研究项目——一个研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的研究项目——一个新的目标——一个研究项目——在一个新的项目——一个新的项目——一个项目——一个研究Pz_ljoYM1rVRF-CXwQgBOKiKmSi9h65DUAsqaQY8GLXB69XQPMOM SCXLN4YVWSDKNYZLAYUVLL3EHQGJSLS6XQIUW36SPSSFTN9RMMRQR3DPIJOGN61U7KF5FQCRAHMJJ\u JPOO8AXOH1EGKOV0ARERB6GMDVT3UM\u f8-Dzi0i8vtZrstg”
我的Web api控制器
[Authorize]
[HttpPost]
[Route("UploadSingleImage")]
public HttpResponseMessage UploadSingleImage()
{
var exMessage = string.Empty;
try
{
string uploadPath = "~/content/upload";
HttpPostedFile file = null;
if (HttpContext.Current.Request.Files.Count > 0)
{
file = HttpContext.Current.Request.Files.Get("file");
}
// Check if we have a file
if (null == file)
return Request.CreateResponse(HttpStatusCode.BadRequest, new
{
error = true,
message = "Image file not found"
});
// Make sure the file has content
if (!(file.ContentLength > 0))
return Request.CreateResponse(HttpStatusCode.BadRequest, new
{
error = true,
message = "Image file not found"
});
if (!Directory.Exists(HttpContext.Current.Server.MapPath(uploadPath)))
{
// If it doesn't exist, create the directory
Directory.CreateDirectory(HttpContext.Current.Server.MapPath(uploadPath));
}
//Upload File
file.SaveAs(HttpContext.Current.Server.MapPath($"{uploadPath}/{file.FileName}"));
}
catch (Exception ex)
{
exMessage = ex.Message;
}
return Request.CreateResponse(HttpStatusCode.BadRequest, new { error = true, message = exMessage == string.Empty ? "An unknown error occured" : exMessage });
}
但情况是,这个文件计数一直是零
HttpContext.Current.Request.Files.Count
所以我已经使用postman和WebAPI方法发送了准确的数据,效果很好。
请提供任何想法文件无法从文件输入元素获取您试图上载的文件。请使用cosole日志检查文件TOUPLAOD的内容
let file: File = filetouplaod;
假设fileInput是输入元素,那么您应该分配如下内容:
filetouplaod=fileInput.files[0]
不要设置“内容类型”:“多部分/表单数据”-只需删除它即可。
通常在它之后,我删除了我所有请求中的
内容类型
,并将其替换为'Accept':'application/json'
,谢谢您的评论,但这是我在这里发布的服务方法。我正在从调用方法发送相关文件。我记录了它,它显示了良好的状态。我确信他在进入之前正在执行此步骤函数-看看函数的参数。对我来说,我的问题不是让file:file=filetouplaod;作为方法的参数。嗨,我有同样的问题,你知道怎么做吗?好的,我解决了-回答如下