【发布时间】:2015-07-28 15:14:31
【问题描述】:
我正在使用 RestSharp 并创建 RestRequest 对象以将 FileData 发送到 API。但是在得到响应后,我想从本地计算机中删除文件,但是当我尝试执行相同操作时,它给了我错误“文件正在被其他进程使用”。我认为的原因是我无法处理 RestRequest 的对象。请帮我解决它。下面是代码。提前谢谢..!!!
public string PostMultiformDataAPI(Method method, string apiUrl, string data = "", Dictionary<string, string> headers = null)
{
string[] files = null;
try
{
RestClient client = new RestClient(apiUrl);
var request = new RestRequest();
request.Method = method;
//Add header values to request
if (headers != null)
{
foreach (var header in headers)
{
request.AddHeader(header.Key, header.Value);
}
}
string filename = string.Empty;
if (Directory.Exists(HttpContext.Current.Server.MapPath("/Upload")))
{
files = Directory.GetFiles(HttpContext.Current.Server.MapPath("/Upload"));
foreach (string file in files)
{
request.AddFile(file.Split('/').Last(), file);
}
}
// execute the request
IRestResponse response = client.Execute(request);
var content = response.Content; // raw content as string
foreach (string file in files)
{
GC.Collect();
GC.WaitForPendingFinalizers();
var fileInfo = new FileInfo(file);
fileInfo.Refresh();
fileInfo.Delete();
//File.Delete(file);
}
return content;
}
finally
{
}
}
【问题讨论】:
标签: c# file file-upload webrequest restsharp