. NetCore 에서 여러 파일 을 업로드 하 는 몇 가지 예시
23376 단어 file파일 업로드multipleAspNetCore
form 방식 으로 그림 업로드
html 코드 부터 살 펴 보 겠 습 니 다. 파일 을 업로드 하려 면 form 요소 안에 있 는 것 을 설정 해 야 합 니 다. enctype="multipart/form-data" 속성 과 post 방식 입 니 다. 파일 업로드 방식 을 더 선택 하려 면 파일 type = 'file' 요 소 를 속성 multiple = 'multiple' 로 설정 해 야 합 니 다. 따라서 다음 과 같은 내용 이 있 습 니 다.
由于采用form提交,这个测试用例只接用了button元素默认的type=submit来提交表单,对应的后台Action中代码如下:
///
/// form
///
///
///
[HttpPost]
public async Task FileUp(MoUser user)
{
if (user.MyPhoto == null || user.MyPhoto.Count <= 0) { MsgBox(" 。"); return View(); }
//var file = Request.Form.Files;
foreach (var file in user.MyPhoto)
{
var fileName = file.FileName;
var contentType = file.ContentType;
var len = file.Length;
var fileType = new string[] { "p_w_picpath/jpeg", "p_w_picpath/png" };
if (!fileType.Any(b => b.Contains(contentType))) { MsgBox($" {string.Join(",", fileType)} 。"); return View(); }
if (len > 1024 * 1024 * 4) { MsgBox(" 4M 。"); return View(); }
var path = Path.Combine(@"D:\F\ \vs2017
etcore
etcore01\WebApp01\wwwroot\myfile", fileName);
using (var stream = System.IO.File.Create(path))
{
await file.CopyToAsync(stream);
}
}
MsgBox($" ");
return View();
}
전단 에서 백 엔 드 까지 의 Action 은 이러한 form 폼 을 제출 하 는 방식 이 매우 간단 하 다 고 말 할 수 밖 에 없다. 주의해 야 할 것 은 Action 에서 사용 하 는 실제 모델 방식 으로 업 로드 된 파일 정보 에 대응 하 는 것 이다. 여 기 는 MoUser 류 를 사용자 정의 하고 속성 을 통 해 public List MyPhoto { get; set; } html 폼 의 파일 type = 'file' 과 일치 하 는 name 속성 이름 name = "MyPhoto":
public class MoUser
{
public int UserId { get; set; } = 1;
public string UserName { get; set; } = " 3";
public List MyPhoto { get; set; }
}
이렇게 하면 실제 모델 을 통 해 업 로드 된 파일 정 보 를 사용자 정의 MoUser 클래스 의 MyPhoto 속성 에 저장 할 수 있 습 니 다.
ajax 사진 업로드
이 곳 은 위의 예 에서 html 에서 뭔 가 를 수정 해 야 합 니 다. form 으로 제출 하지 않 고 일반 button 단 추 를 지정 하여 ajax 의 제출 을 촉발 합 니 다. 전체 html 코드 는 다음 과 같 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C에서 파일 입/출력저장 및 , 우리는 파일 유형을 가리키는 구조 포인터를 사용합니다 - FILE. fopen() 함수는 기존 파일을 열거나 새 파일을 만드는 데 사용됩니다. 여기서 fp는 열린(또는 생성된) 파일에 대한 참조를 보유할...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.