如何在c#中检索字符串formData js
Posted
技术标签:
【中文标题】如何在c#中检索字符串formData js【英文标题】:How can retrieve string formData js in c# 【发布时间】:2015-07-17 21:48:26 【问题描述】:我必须在 .net 的 web 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;
,
我的网络接口:
/// <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("");
【问题讨论】:
【参考方案1】:假设您正在发送典型的 Ajax POST 请求,您可以从 HttpContext.Current.Request.Form
集合中检索每个字段。
只需在集合中找到您的密钥,例如 HttpContext.Current.Request.Form["KEY"]
TBH 如果你没有提供发送数据的方式,很难说如何检索任何值。
【讨论】:
【参考方案2】:Request.Form["KEY"] 在我的 MVC 控制器中工作。
【讨论】:
【参考方案3】: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);
【讨论】:
以上是关于如何在c#中检索字符串formData js的主要内容,如果未能解决你的问题,请参考以下文章