웹 Api Self Host 대 파일 업로드 기능
4842 단어 C \ # 디자인 모드WebApi
아니면 코드 를 직접 붙 이 는 게 직관 적 이에 요.
///
///
///
///
public async Task Upload(string jobid)
{
List resources = new List();
// multipart/form-data
// MultipartMemoryStreamProvider
var provider = new MultipartMemoryStreamProvider();
//
await Request.Content.ReadAsMultipartAsync(provider);
foreach (var item in provider.Contents)
{
//
if (item.Headers.ContentDisposition.FileName != null)
{
//
var ms = item.ReadAsStreamAsync().Result;
//
using (var br = new BinaryReader(ms))
{
if (ms.Length <= 0)
break;
//
var data = br.ReadBytes((int)ms.Length);
//Create
// ID
Resource resource = new Resource() { Id = DateTime.Now.ToString("yyyyMMddHHmmssffff", DateTimeFormatInfo.InvariantInfo) };
//Info
FileInfo info = new FileInfo(item.Headers.ContentDisposition.FileName.Replace("\"", ""));
//
resource.Type = info.Extension.Substring(1).ToLower();
//Write
try
{
//
string dirPath = Path.Combine(ROOT_PATH);
if (!Directory.Exists(dirPath))
{
Directory.CreateDirectory(dirPath);
}
File.WriteAllBytes(Path.Combine(dirPath, resource.Id), data);
resources.Add(resource);
}
catch { }
}
}
}
//
if (resources.Count == 0)
return BadRequest();
else if (resources.Count == 1)
return Ok(resources.FirstOrDefault());
else
return Ok(resources);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C \ # 디자인 모델 (3) - 공장 방법 모델그러면 공장 방법 모델 은 시스템 이 공장 류 의 논 리 를 수정 하지 않 고 신제품 을 추가 하 는 것 을 허용 할 수 있다.이렇게 하면 간단 한 공장 모델 의 단점 도 극복 할 수 있다.다음은 공장 모델 의 구체...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.