c#中,经过webapi接口获取文件名,并将文件内部数据读取至字节数组中
时间: 2024-09-11 14:02:51 浏览: 49
在C#中,如果你想要通过Web API接口获取文件并将其内容读取到字节数组中,可以按照以下步骤操作:
1. **定义API**:
创建一个Web API Controller,例如`FileController`,并添加一个GET动作方法,接收文件的URL作为参数:
```csharp
[HttpGet]
public HttpResponseMessage DownloadFile(string fileName)
{
// 这里需要替换为实际的文件路径或存储位置
string filePath = "your_file_path/" + fileName;
if (!System.IO.File.Exists(filePath))
return Request.CreateResponse(HttpStatusCode.NotFound, "File not found.");
var fileStream = new FileStream(filePath, FileMode.Open);
byte[] fileBytes = new byte[fileStream.Length];
fileStream.Read(fileBytes, 0, (int)fileStream.Length);
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);
response.Content = new ByteArrayContent(fileBytes);
response.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/octet-stream");
return response;
}
```
2. **客户端请求**:
客户端(如JavaScript、其他C#应用或POSTman等)可以通过发送一个GET请求到指定的URL,并传递文件名作为查询参数或者URL片段来下载文件:
```http
GET /api/FileDownload?fileName=myFile.txt
```
或者
```http
GET /api/FileDownload/myFile.txt
```
3. **响应处理**:
如果一切正常,服务器会返回一个包含文件数据的HTTP响应,客户端可以解析响应体的内容为字节数组。
阅读全文