我使用静态方法将我的图片上传到项目文件夹中,但由于收到错误而无法执行此操作:
非静态字段,方法或的对象引用是必需的 property' inheritedclass.fileupload'
我的功能如下:
[WebMethod]
public static string FileUploadUsingJqueryNew(string nameofimage)
{
string File_Name = nameofimage;
FileUploadID.SaveAs(Server.MapPath("~/UploadFile/" + File_Name));
imgID.ImageUrl = "../UploadFile/" + File_Name;
imgID.Visible = true;
return nameofimage;
}
答案 0 :(得分:2)
您使用页面上的WebControl FileUpload.SaveAs方法。您的网页是一个包含属性的对象,其中一个是您的FileUpload
。
您无法将控件的引用传递给静态方法。您只能使用非静态方法来使用FileUpload
控件。
<强>更新强>
根据您使用[WebMethod]
属性,我认为您正在尝试将您的文件传递给Web服务方法。这可以通过添加FileUpload
处理程序来完成,该处理程序使用HttpPostedFile.InputStream将文件内容传递给[WebMethod]
Stream
。
答案 1 :(得分:1)
FileName = nameofimage
您不能像这样定义Filename
。 FileName
是一个属性。像这样使用String fileName = FileUpload1.FileName;
不要忘记逗号!
FileUpload.SaveAs()
你不能这样做。您可以在FileUpload
控件中使用非静态方法。像这样使用;
FileUpload f = new FileUpload();
f.SaveAs();