嗨,我有一个jqGrid的子网格。里面,我有上传控件。
上传控制工作的罚款高达要求的文件,并选择该文件。
但我无法读取后端vb.net侧文件值。
Javascript代码:
$('#FormPath')[0].files[0]
将返回[object,file].
这意味着它能够读取该文件。
var fd = new FormData();
fd.append('file', $('#FormPath')[0].files[0]);
$.ajax({
url: 'Forms.aspx/UploadFormDetails',
data: fd,
cache:false,
processData: false,
contentType: false,
type: 'POST',
success: function(fd){
alert(fd);
}
});
我的运气不好是不打下面提到的代码。如果它击中我可以读取该文件。 Vb.net代码
<WebMethod> _
Public Shared Function UploadFormDetails() As String
Dim httpPostedFile = HttpContext.Current.Request.Files("UploadedFile")
If httpPostedFile IsNot Nothing Then
' Get the complete file path
Dim fileSavePath = Path.Combine(HttpContext.Current.Server.MapPath("/Attachments/pdf/Forms/"), httpPostedFile.FileName)
' Save the uploaded file to "UploadedFiles" folder
httpPostedFile.SaveAs(fileSavePath)
End If
Return ""
End Function
任何机构有任何想法
可以按照此链接中的说明来完成:http://www.binaryintellect.net/articles/f2a2f1ee-e18a-416b-893e-883c800f83f4.aspx
“与其做一个完整的网页提交的,你可以使用jQuery做一个Ajax调用服务器和POST选定的文件到一个通用的处理程序(ashx的)。通用处理器可以然后将文件保存到指定文件夹。将剩余这篇文章展示了如何可以完成此“。
<script type="text/javascript">
$(document).ready(function () {
$("#Button1").click(function (evt) {
var fileUpload = $("#FileUpload1").get(0);
var files = fileUpload.files;
var data = new FormData();
for (var i = 0; i < files.length; i++) {
data.append(files[i].name, files[i]);
}
var options = {};
options.url = "FileUploadHandler.ashx";
options.type = "POST";
options.data = data;
options.contentType = false;
options.processData = false;
options.success = function (result) { alert(result); };
options.error = function (err) { alert(err.statusText); };
$.ajax(options);
evt.preventDefault();
});
});
</script>
然后在你的处理程序文件,你可以做这样的事情,以张贴的文件保存到服务器。
namespace jQueryFileUploadDemo
{
public class FileUploadHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
if (context.Request.Files.Count > 0)
{
HttpFileCollection files = context.Request.Files;
for (int i = 0; i < files.Count;i++ )
{
HttpPostedFile file = files[i];
string fname = context.Server.MapPath("~/uploads/" + file.FileName);
file.SaveAs(fname);
}
}
context.Response.ContentType = "text/plain";
context.Response.Write("File(s) Uploaded Successfully!");
}
public bool IsReusable
{
get
{
return false;
}
}
}
}