ファイルのアップロードに AJAX を使用しないとおっしゃっていましたが、このソリューションは非常にシンプルなものだと思います。
次の jQuery プラグイン ( https://blueimp.github.io/jQuery-File-Upload/ ) を使用すると、そのプロセスを自動化できます。ファイルに検証の問題がある場合は、次のモデルをエラーとともに返すことができます。 .
string errors = "Errors returned from complex logic";
if (!String.IsNullOrEmpty(errors))
{
// error response
status = new ViewDataUploadFilesResult()
{
name = Path.GetFileName(hpf.FileName),
size = hpf.ContentLength,
error = errors
};
}
jQuery ファイルのアップロードに関するドキュメントと一致する応答に必要なクラスは次のとおりです: https://github.com/blueimp/jQuery-File-Upload/wiki/Setup
public class ViewDataUploadFilesResult
{
public string name { get; set; }
public int size { get; set; }
public string type { get; set; }
public string url { get; set; }
public string error { get; set; }
}
私が正しく理解している場合、ファイルは既にユーザーのコンピューター上にあるため、ファイルをアップロードしようとしている現在のファイルに関連付けるだけで、エラーが返されます。また、アップロードするファイルを再選択する必要がないようにします。ユーザーがアップロードしているファイルを既に持っているため、実際のファイルをユーザーに返す必要がある他の理由はありません。