我剛開始學習asp.net和c#。我在使用Post方法的表單中獲取PDF文件的文件名時出現問題。asp c#獲得PDF文件名
<div class="form" id="pnl_Form" style="display:block ;">
<form id="form1" method="post" enctype="multipart/form-data" target="frmUpload" action="/include/ajax.aspx?op=upload" >
<div>
Step 1. Choose a PDF to be converted: <i>(File limit <%=Global.MaxFileSize %> MB)</i>
<div class="form-val">
<input type="file" id="file1" name="file1" class="txt" />
</div>
</div>
<div class="form-btn"> <a href="javascript:void()" class="btn-green" onclick="upload()"><span style="padding:0px 50px 0px 45px;">Send</span></a></div>
<div class="clear"></div>
</form>
<iframe id="frmUpload" name="frmUpload" style="display:none"></iframe>
</div>
而PDF將被上傳並使用第三方轉換工具進行轉換。轉換完成後,我需要向用戶顯示上傳的PDF的名稱。
<div class="form" id="pnl_Success">
<div class="form-text">
<h4>Conversion Successfully!</h4>
<p>File name: <%= Request.Files[0].FileName %> </p>
<div class="form-btn" style="margin-left:20%;"> <a href="/account/uploadlist.html" class="btn-green"><span style="padding:0px 20px 0px 15px;">Go to download</span></a></div>
<br>
</div>
</div>
但是用Request.Files [0] .FileName,示出了以下錯誤:
索引超出範圍。必須是非負的並且小於 的大小。參數名稱:index
描述:在執行 期間發生未處理的異常當前Web請求。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。
異常詳細信息:System.ArgumentOutOfRangeException:索引出了 範圍。必須是非負值且小於 系列的尺寸。參數名稱:索引
但是,在CS代碼中,Request.Files [0]也在使用,PDF可以成功上傳。
private void Upload()
{
int fileId = 0;
int result = 0;
HttpPostedFile postFile = Request.Files[0];
//user information
Account account = new Account();
result = widget.Upload(postFile, out fileId) ;
if (result == (int)FileStatus.UploadSuccess)
Response.Write("<script language='javascript'>parent.convertProgress('" + fileId + "')</script>");
else
Response.Write("<script language='javascript'>parent.failUpload(" + fileId + "," + result + ");</script>");
}
我還試圖用一個靜態變量獲得postFile.FileName的值,並使用ASP的網頁而不是工作壓力太大調用值?
在類有:
public static string showName;
在上傳()函數有:
showName = postFile.FileName;
使用Javascript最後得到的文件名,但我還在尋找爲ASP解決方案。
如果您使用的是asp.net,爲什麼不使用[''](http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols。 fileupload%28v = vs.110%29.aspx)控制? –
freefaller
2014-09-02 07:08:55
我會試試.... – Waq 2014-09-02 07:34:44