मैं एएसपी.नेट वेब एपीआई का उपयोग कर फाइल अपलोड कर रहा हूं। मैंने आरसी से पहले यह किया है लेकिन किसी कारण से फ़ाइल को फ़ाइल नाम के बजाय "BodyPart_3ded2bfb-40be-4183-b789-9301f93e90af" के रूप में सहेजा जा रहा है। नीचे फ़ाइल नाम वैरिएबल फ़ाइल नाम के बजाय इस bodypart स्ट्रिंग को भी देता है। मुझे यह पता लगाना प्रतीत नहीं होता कि मैं कहां जा रहा हूं। किसी भी मदद की सराहना की है।एएसपी.नेट वेब एपीआई फ़ाइल "बॉडीपार्ट_3ded2bfb-40be-4183-b789-9301f93e90af" के रूप में सहेजी गई है
क्लाइंट कोड:
function upload() {
$("#divResult").html("Uploading...");
var formData = new FormData($('form')[0]);
$.ajax({
url: 'api/files/uploadfile?folder=' + $('#ddlFolders').val(),
type: 'POST',
success: function (data) {
$("#divResult").html(data);
},
data: formData,
cache: false,
contentType: false,
processData: false
});
};
नियंत्रक:
public Task<HttpResponseMessage> UploadFile([FromUri]string folder)
{
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.UnsupportedMediaType));
}
// Save file
MultipartFormDataStreamProvider provider = new MultipartFormDataStreamProvider(HttpContext.Current.Server.MapPath("~/Files"));
Task<IEnumerable<HttpContent>> task = Request.Content.ReadAsMultipartAsync(provider);
return task.ContinueWith<HttpResponseMessage>(contents =>
{
string filename = provider.BodyPartFileNames.First().Value;
return new HttpResponseMessage()
{
Content = new StringContent(string.Format("File saved in {0}.", folder))
};
}, TaskScheduler.FromCurrentSynchronizationContext());
फ़ाइलों की तरह देख रहे हैं:
मैं यहाँ मेरा पूरा उदाहरण ऊपर लिखा है: http://rivdiv.wordpress.com/2012/06/13/uploading-a-file-using-asp-net-web-api/ – Rivka