我試圖上傳一個圖像而不使用任何asp控件。到目前爲止,我一直在努力:未使用任何Asp控件的文件上傳
<form id="form1" data-ajax="false" method="post" runat="server" enctype="multipart/form-data">
<input type="file" id="uploadFile" name="uploadFile" runat="server"/>
<input type="submit" class="btn-login" data-corners="true" value="Yükle" onclick="UploadPhoto()" />
</form>
在我的.aspx頁面中
和JQuery的在UploadPhoto()方法:
function UploadPhoto() {
$.ajax({
type: "POST",
url: "IncidentChange.aspx/UploadPhoto",
contentType: "application/json; charset=utf-8",
success: function (msg) {
},
error: function() {
}
});
}
我張貼到C#代碼後面。但是,我無法從代碼隱藏中獲取上傳的內容。
[WebMethod]
public static string UploadPhoto()
{
try
{
byte[] fileData = null;
using (var binaryReader = new BinaryReader(HttpContext.Current.Request.Files[0].InputStream))
{
fileData = binaryReader.ReadBytes(HttpContext.Current.Request.Files[0].ContentLength);
}
}
catch (Exception ex)
{
}
return null;
}
但Request.Files看起來是一個空數組。由於該方法是靜態的([WebMethod]),我無法訪問該方法中的輸入控件以獲取發佈的文件。我怎樣才能克服這個問題?謝謝。
你不發送在阿賈克斯數據 – kobe