メールを送信するモジュールを開発していますが、機能の1つは複数のファイルをアップロードすることです...
私はこれを作成するための参照として使用しました:http: //www.dotnetcurry.com/ShowArticle.aspx?ID = 68
また、複数のファイルをアップロードできるようにjqueryを追加する必要がありました。
<script src="Scripts/jquery-1.3.2.js" type="text/javascript">
</script>
<script src="Scripts/jquery.MultiFile.js" type="text/javascript">
</script>
ただし、フォームのボタンを押したときに10MBを超えるファイルをアップロードすると(ポストバックが発生するたびに発生すると思います)、ブラウザーはページを読み込めません。だから私が欲しいのは私のボタンでこの関数をトリガーすることです:
protected void imgBtnEnviar_Click(object sender, ImageClickEventArgs e)
{
int intBytes = 0;
string strArchivos = "";
string strRutaArchivos = "";
bool blnBytes = true;
bool blnPermitir = true;
try
{
HttpFileCollection hfc = Request.Files;
//Check if all files together are less than 10mb
foreach (HttpPostedFile hpf in hfc)
{
intBytes += hpf.ContentLength;
if (intBytes > 11000000)
{
blnBytes = false;
break;
}
}
if (blnBytes)
{
//Upload All attached files to server
foreach (HttpPostedFile hpf in hfc)
{
if (hpf.FileName == "")
{
break;
}
string strNombre = ((int)Session["Grupo"]) + "_" + (int)Session["EmailIdCliente"] + "_" + DateTime.Now.ToString("MM-dd-yyyy_HH.mm.ss") + "_" + Path.GetFileName(hpf.FileName);
strArchivos += strNombre + ";";
strRutaArchivos += Server.MapPath("~/Archivos/") + strNombre + ";";
hpf.SaveAs(Server.MapPath("~/Archivos/") + strNombre);
}
}
}
catch
{
blnPermitir = false;
}
if (!blnBytes || !blnPermitir)
{
//Error Message Displayed To User
ClientScript.RegisterStartupScript(this.GetType(), "Mensaje", "alert('Maximo Puede Enviar 10MB En Archivos');", true);
}
else
{
//Moving on to send email
}
}
私が欲しいのは、blnBytesがfalseに等しい場合(結合されたすべてのファイルが10mbを超えるとfalseになる)、エラーメッセージが表示されるだけですが、1つのファイルが10mbを超えても機能させるにはどうすればよいですか?? ... 。
あなたがその感謝で私を助けることができることを願っています