मैं अपने वेब एपीआई एप्लिकेशन का परीक्षण करने के लिए एन-यूनिट का उपयोग करने की कोशिश कर रहा हूं लेकिन मैं अपनी फ़ाइल अपलोड विधि का परीक्षण करने का एक उचित तरीका नहीं ढूंढ पा रहा हूं। विधि का परीक्षण करने के लिए सबसे अच्छा तरीका कौन सा होगा?परीक्षण एएसपी.नेट वेब एपीआई मल्टीपार्ट फॉर्म डेटा फ़ाइल अपलोड
वेब एपीआई नियंत्रक:
[AcceptVerbs("post")]
public async Task<HttpResponseMessage> Validate()
{
// Check if the request contains multipart/form-data.
if (!Request.Content.IsMimeMultipartContent())
{
return Request.CreateErrorResponse(HttpStatusCode.UnsupportedMediaType,"please submit a valid request");
}
var provider = new MultipartMemoryStreamProvider(); // this loads the file into memory for later on processing
try
{
await Request.Content.ReadAsMultipartAsync(provider);
var resp = new HttpResponseMessage(HttpStatusCode.OK);
foreach (var item in provider.Contents)
{
if (item.Headers.ContentDisposition.FileName != null)
{
Stream stream = item.ReadAsStreamAsync().Result;
// do some stuff and return response
resp.Content = new StringContent(result, Encoding.UTF8, "application/xml"); //text/plain "application/xml"
return resp;
}
}
return resp;
}
catch (System.Exception e)
{
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
}
}
क्यों System.Net.Http से HttpClient का उपयोग नहीं? –
मुझे नहीं लगता कि HttpClient में एक अपलोड फ़ाइल है जो विशेष रूप से फ़ाइल अपलोड करने के लिए डिज़ाइन की गई है। – Muhammad