如何在 C# 中检索字符串 formData js
How can retrieve string formData js in c#
我必须在 .net 中的我的网站 api 中检索 "idPerson" 的值。
我已经检索到文件 "UploadedImage"。但是我无法检索 "idPerson".
的值
有人有解决办法吗?
谢谢!
我的js函数
/**
* Upload de l'image de profil
* @method uploadFile
* @private
*/
uploadFile: function () {
var data = new FormData(), files, ajaxRequest;
files = $("#fileUpload").get(0).files;
// Ajout de l'image uploadé vers les données du form
if (files.length > 0) {
data.append("UploadedImage", files[0]);
// Ajout de l'id du patient pour calculer le GUID
data.append("idPerson", this.vm.idPerson);
}
return data;
},
我的网站 api :
/// <summary>
/// Méthode d'upload de la photo de profil du patient
/// </summary>
/// <returns>Etat du téléchargement de l'image</returns>
public MessageOutCoreVm UploadImg()
{
string fileSavePath = string.Empty;
string virtualDirectoryImg = "UploadedFiles";
string fileName = string.Empty;
if (HttpContext.Current.Request.Files.AllKeys.Any())
{
// Get the uploaded image from the Files collection
var httpPostedFile = HttpContext.Current.Request.Files["UploadedImage"];
fileName = httpPostedFile.FileName;
if (httpPostedFile != null)
{
// OBtient le path du fichier
fileSavePath = Path.Combine(HttpContext.Current.Server.MapPath("~/UploadedFiles"), httpPostedFile.FileName);
// Sauvegarde du fichier dans UploadedFiles sur le serveur
httpPostedFile.SaveAs(fileSavePath);
}
return MessageOutCoreVm.SendSucces(virtualDirectoryImg + '/' + fileName);
}
else
{
return MessageOutCoreVm.SendValidationFailed("");
}
}
假设您正在发送典型的 Ajax POST 请求,您可以从 HttpContext.Current.Request.Form
collection.
检索每个字段
只需在 collection 中找到您的密钥,例如 HttpContext.Current.Request.Form["KEY"]
TBH 当你没有提供发送数据的方式时,很难说如何检索任何值。
Request.Form["KEY"] 在我的 MVC 控制器中工作。
Html:
<input id="image-file" type="file" onchange="SavePhoto(this)"/>
JavaScript:
<script type="text/javascript">
function SavePhoto()
{
var photo = document.getElementById("image-file").files[0]; // file from input
var req = new XMLHttpRequest();
var formData = new FormData();
formData.append("photo", photo );
req.open("POST", '/upload/image2/');
req.send(formData);
}
</script>
C# 控制器:
[HttpPost]
public void Image2()
{
HttpPostedFileBase img2 = Request.Files["photo"];
string path = @"D:\Server\Image\Newred\" + img2.FileName;
img2.SaveAs(path);
}
我必须在 .net 中的我的网站 api 中检索 "idPerson" 的值。 我已经检索到文件 "UploadedImage"。但是我无法检索 "idPerson".
的值有人有解决办法吗?
谢谢!
我的js函数
/**
* Upload de l'image de profil
* @method uploadFile
* @private
*/
uploadFile: function () {
var data = new FormData(), files, ajaxRequest;
files = $("#fileUpload").get(0).files;
// Ajout de l'image uploadé vers les données du form
if (files.length > 0) {
data.append("UploadedImage", files[0]);
// Ajout de l'id du patient pour calculer le GUID
data.append("idPerson", this.vm.idPerson);
}
return data;
},
我的网站 api :
/// <summary>
/// Méthode d'upload de la photo de profil du patient
/// </summary>
/// <returns>Etat du téléchargement de l'image</returns>
public MessageOutCoreVm UploadImg()
{
string fileSavePath = string.Empty;
string virtualDirectoryImg = "UploadedFiles";
string fileName = string.Empty;
if (HttpContext.Current.Request.Files.AllKeys.Any())
{
// Get the uploaded image from the Files collection
var httpPostedFile = HttpContext.Current.Request.Files["UploadedImage"];
fileName = httpPostedFile.FileName;
if (httpPostedFile != null)
{
// OBtient le path du fichier
fileSavePath = Path.Combine(HttpContext.Current.Server.MapPath("~/UploadedFiles"), httpPostedFile.FileName);
// Sauvegarde du fichier dans UploadedFiles sur le serveur
httpPostedFile.SaveAs(fileSavePath);
}
return MessageOutCoreVm.SendSucces(virtualDirectoryImg + '/' + fileName);
}
else
{
return MessageOutCoreVm.SendValidationFailed("");
}
}
假设您正在发送典型的 Ajax POST 请求,您可以从 HttpContext.Current.Request.Form
collection.
只需在 collection 中找到您的密钥,例如 HttpContext.Current.Request.Form["KEY"]
TBH 当你没有提供发送数据的方式时,很难说如何检索任何值。
Request.Form["KEY"] 在我的 MVC 控制器中工作。
Html:
<input id="image-file" type="file" onchange="SavePhoto(this)"/>
JavaScript:
<script type="text/javascript">
function SavePhoto()
{
var photo = document.getElementById("image-file").files[0]; // file from input
var req = new XMLHttpRequest();
var formData = new FormData();
formData.append("photo", photo );
req.open("POST", '/upload/image2/');
req.send(formData);
}
</script>
C# 控制器:
[HttpPost]
public void Image2()
{
HttpPostedFileBase img2 = Request.Files["photo"];
string path = @"D:\Server\Image\Newred\" + img2.FileName;
img2.SaveAs(path);
}