我使用jquery ajax上傳文件,但問題是文件上傳時沒有其內容。 FILE上傳0Kb。這裏是我的代碼:使用jquery ajax上傳沒有其內容到web服務的文件
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
function uploading() {
var u = document.getElementById('uploadbr');
alert(u.value);
$.ajax({
type: "POST",
url: "http://10.20.1.93:8080/Service1/UploadFile?fileName="+u.value,
success: function(data)
{
alert(data);
}
});
}
</script>
</head>
<body>
<form name="uploadform" encrypt="multipart/form-data">
<input id="uploadbr" type="file" name="upfile" size="40" /><br/>
<input type="button" name="upbutton" value="Upload" onclick="uploading()" />
</form>
</body>
</html>
這是我在服務器端的代碼。
[WebInvoke(Method = "POST", UriTemplate = "UploadFile?fileName={fileName}")]
public string UploadFile(string fileName, Stream fileContents)
{
//save file
try
{
string absFileName = string.Format("{0}\\FileUpload\\{1}"
, AppDomain.CurrentDomain.BaseDirectory
, fileName);
using (FileStream fs = new FileStream(absFileName, FileMode.Create))
{
fileContents.CopyTo(fs);
fileContents.Close();
}
return "Upload OK";
}
catch (Exception ex)
{
return "FAIL ==> " + ex.Message;
}
}
現在告訴我該怎麼辦?我在哪裏錯了?
我沒有使用XMLHttpRequest(AJAX)。文件正在上傳,但沒有其內容。 –
使用[this](http://jquery.malsup.com/form/#file-upload)可以簡化您的代碼。你可以更具體的**文件正在上傳堅果沒有其內容** – Bhavik
當我選擇一個文本文件上傳,它是上傳,但不是它的內容。意思是我有一些信息保存在一個text.txt中,它在磁盤上有一些大小,但是當我上傳該文件時,它會作爲空文件上傳,並且它在磁盤上的大小變爲0kb。 –