【spring】上传文件MultipartHttpServletRequest,为null,求解

图片说明

debug发现的错误位置,报错信息为空指针异常,debug发现这个为null
但是不知道原因

图片说明
图片说明
这个是请求的参数,我感觉没错啊,求解是什么问题额

图片说明


项目中有配置

@Bean(name = DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME)
        public CommonsMultipartResolver commonsMultipartResolver(MultipartConfigElement element) {
            CommonsMultipartResolver resolver = new CommonsMultipartResolver();
            resolver.setMaxUploadSize(element.getMaxRequestSize());
            resolver.setMaxUploadSizePerFile(element.getMaxFileSize());
            resolver.setResolveLazily(multipartProperties.isResolveLazily());

            return resolver;
        }

我快愁死了,我把这个bean注释掉就能拿到文件了,我在网上找的要不就是
吧HttpServletRequest强转成MultipartHttpServletRequest,可我为啥弄了还是null呢,求救啊

5个回答

解决如下http://www.cnblogs.com/yskcoder/p/4718198.html
解决方法如上

附件要转换成当前服务器的绝对路径,比如:/app/aaa/.../fileData.txt

你是不是用ajax方式向后传的啊?你可以试下直接提交。看下能不能接收到

为啥我感觉是前台没有配置上传文件类型为 enctype="multipart/form-data"

java servlet 文件上传 https://faceghost.com/article/654561
spring mvc 文件上传 https://faceghost.com/article/254551

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spring boot上传文件报错:Expected MultipartHttpServletRequest
spring boot写的接口处理application/form-data类型的输入,rn[code=java]rn@EnableAutoConfigurationrn@RestControllerrn@RequestMapping(value = "/aps/mpserver", method = RequestMethod.POST)rnpublic class FileUploader rn private static Logger logger = Logger.getLogger(ModelMetaInfoGetter.class);rnrn @RequestMapping(value = "/fileupload", method = RequestMethod.POST)rn public FileUploadResult modelPredict(@RequestParam("file") MultipartFile file)rn rn if (!file.isEmpty()) rn tryrn rn System.out.println(file.getName());rn //File modelFile = new File(file.getOriginalFilename());rnrn //BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(modelFile));rn /*out.write(file.getBytes());rn out.flush();rn out.close();*/rn rn catch (Exception e)rn rn e.printStackTrace();rn rn rnrn FileUploadResult fileUploadResult = new FileUploadResult();rn fileUploadResult.setCode(0);rn fileUploadResult.setMessage("文件上传接口调用成功");rn fileUploadResult.setModelFilePath("a path");rnrn return fileUploadResult;rn rnrn[/code]rn但是接口测试的时候,发现报错,错误信息如下:rn2018-02-01 12:03:33.045 ERROR 10796 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: Expected MultipartHttpServletRequest: is a MultipartResolver configured?] with root causernrnjava.lang.IllegalArgumentException: Expected MultipartHttpServletRequest: is a MultipartResolver configured?rn at org.springframework.util.Assert.notNull(Assert.java:112)rn at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.resolveName(RequestParamMethodArgumentResolver.java:161)rn at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:86)rn....rnrn
MultipartHttpServletRequest上传文件报错
我项目里使用了SSO,但是在用MultipartHttpServletRequest上传文件的时候就报错了.下面是报错信息:rnorg.jasig.cas.client.util.HttpServletRequestWrapperFilter$CasHttpServletRequestWrapper rncannot be cast to org.springframework.web.multipart.MultipartHttpServletRequest.rn求高人帮忙.
上传文件(文件非必填)MultipartHttpServletRequest
背景: 在表单提交时,有上传文件内容,但此内容非必填项。 在无上传文件入参时,接收类型仍写MultipartHttpServletRequest时,直接报错: Current request is not of type [org.springframework.web.multipart.MultipartHttpServletRequest]: org.apache.catalina.c
HttpServletRequest转换成MultipartHttpServletRequest异常,求解
本人用的是springMVC和tomcat进行文件上传,xml中配置了 rn rn rn rn 104857600 rn rn rn 4096 rn rn rn代码中使用的是rnpublic ModelAndView uploadFile(HttpServletRequest request,HttpServletResponse response) throws CswWebExceptionrn UserInfoDto user= getUserInfomation(request);rn MultipartHttpServletRequest multipartRequest=(MultipartHttpServletRequest)request;rn MultipartFile multipartFile=multipartRequest.getFile("fileName");rnrn但是还是报错:rnjava.lang.ClassCastException: org.apache.catalina.connector.RequestFacade cannot be cast to org.springframework.web.multipart.MultipartHttpServletRequestrnrnrn虽然报错,但文件依然可以正常上传!求解!
multipartfile 第二次上传文件为null
用multipartfile上传文件,如果目录为空,第一次可以上传成功,第二次上传为null 解决方法:之前上传目录是在网站根目录下/upload,改到WEB-INF/upload问题就解决了 不过还是不明白之前有什么问题
spring的getHiernateTemlate为null
我配置了spring的xml,但是要查询数据的时候显示为null,后来打印getHibernateTemplate的时候显示为nullrn配置文件:rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrn rn rn rn rn rnrn rn rn rnspring大致就是上面的,大家帮忙解决下,rnrn
上传文件 MultipartHttpServletRequest IE浏览器弹框保存
问题: 在有上传文件时的接口,前端请求后,部分ie浏览器会弹保存框,将请求变为下载类型。 经测试,在win7以下及自带为IE10以下易出现此问题。 解决: 在服务端java代码返回中修改如下: public ResponseEntity<String> accreditHospital(MultipartHttpServletRequest req,HttpSer...
文件上传遍历为NULL求解
前台rn[code=HTML]rn<%@ Page Language="C#" AutoEventWireup="true" CodeFile="HomePage.aspx.cs" Inherits="HomePage" %>rnrnrnrnrn 附件上传下载rn rn rn rn rnrn rnrnrnrn rn rn rn rn 上传内容:rn rn rn rn rn rn rn rn rn 附件:rn rn rn rn rn rn rn rn rn rn rn rnrnrnrn[/code]rn后台rn[code=C#]rnprotected void btn_ok_Click(object sender, EventArgs e)rn rn HttpFileCollection files = HttpContext.Current.Request.Files;rn for (int i = 0; i < files.Count; i++)rn rn HttpPostedFile posteFile = files[i];//检查文件扩展名字:确定是否是文件rn string fileName = System.IO.Path.GetFileName(posteFile.FileName);//获取文件的文件名rn if (fileName!="")rn rn string fileSuffix = System.IO.Path.GetExtension(fileName);//获取文件的扩展名rn if (!System.IO.Directory.Exists(Server.MapPath("上传文件")))rn rn System.IO.Directory.CreateDirectory(Server.MapPath("上传文件"));rn rn string fileNameNoSuffix = System.IO.Path.GetFileNameWithoutExtension(fileName);//文件不要后缀名的名字,:1.jpg,显示 1rn string dateTime = DateTime.Now.ToString("yyyyMMddHHmmss");//以格式为:yyyyMMddHHmmss显示当前的时间rn rn rn rn[/code]rnfiles.Count = 0.不知道为什么。求解啊。高手帮帮
在struts2中我想使用spring的MultipartHttpServletRequest
我想在struts2中我想使用spring的MultipartHttpServletRequest 的对象,可是他老报struts2中获取的request不能转换为MultipartHttpServletRequest 的multirequest对象rnrn要怎么办啊 我做的是图片上传
spring依赖注入对象为null
    前不久帮一个同事调试一段代码,发现注入对象为null    被注解的对象如下:      @Component        public class SparkSource{        @Autowired            private SparkConfig  sparkConfig  ;         @Autowired            private Redi...
Spring依赖注入的接口为null
昨天碰到一个问题,Spring依赖注入接口总是null。 因为之前使用的时候都是可以的,所以我就各种尝试,我的类进行实现接口,进行组件定义等等都不行。今早重新看看依赖注入的定义,组件之间依赖关系由容器在运行期决定,由容器动态的将某个依赖关系注入到组件中。 上面的重点有1、需要注入的地方一定要定义成组件;2、注入的接口需要实现,用注解@Autowired注入;3、就是我犯的错误!服务调用方式
spring利用注解@Value获取properties属性为null, 求解~
rn[b]properties文件路径没有错,tomcat启动正常,可是就是显示wingPath为null,这是为什么??第一次发帖,各路大神过来看下~[/b][img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/1.gif][/img]rnrn[color=#FF0000]data.properties:[/color]rnmallPath = store/mall.jsonrnwingPath = wing/wing.jsonrnrn[color=#FF0000]applicationContext.xml:[/color]rnrn[code=html] rnrnrnrn rn rn rn /WEB-INF/classes/data.propertiesrn rn rn rn rn rn [/code]rnrn[color=#FF0000]java:[/color]rn[code=java]rnimport org.springframework.beans.factory.annotation.Value;rnpublic class IndexInitAction rn rn @Value("#configProperties['wingPath']")rn private String wingPath; // 这里就是得不到值,!rn rn public String getWingPath() rn return wingPath;rn rn public void setWingPath(String wingPath) rn this.wingPath = wingPath;rn [/code]
MultipartFile 接受前端上传文件一直为null
MultipartFile从前端传过来一直为null,主要因为我前端表单没有设置enctype=&quot;multipart/form-data&quot;。
上传文件时老是为null是怎么回事?
rnrnrn上传附件: rnrn为什么我上传文件的时候,总是this.myFile.PostedFile==null ?rn public void upload_file(object sender, EventArgs e)rn rn if(this.myFile.PostedFile!=null)rn tryrn rn catch(System.Exception Ex)rn rn sendstate.Text=Ex.ToString();rn rn finallyrn
解决SpringMVC接收前台上传文件为null
这个问题的需求来源于,我前端传递图片后,需要在Controller中通过name映射进行获取,在获取的过程中出现了获取他的值为null的状况,发生这种状况的情形会有很多种,这边不一一列举,主要告诉大家如何正确获取。1.前端界面需要注意的是,因为这边会引用jquery.form.js,所以在form中一定要加入enctype=&quot;multipart/form-data&quot;属性&amp;lt;form id=&quot;j...
java上传文件获取到的list为null
用的struts 网上说struts2的源代码对request对象进行了封装,导致fileList = upload.parseRequest(request);获取不到上传的对象rnrn用了很多方法 修改web.xml 或创建RequestParseWrapper 空类 都不行 最后用了http://auzll.iteye.com/blog/919981 增加一个filter 可以了 但是这样配置的话struts2上传方式就会为null了 File为null 配置的filter提前把struts2拦截了 有什么方式可以解决struts2的File为null 的问题 ? [code=java] rn sessionFilterrn com.enation.app.shop.core.action.api.filter_sessionrn rnrn rn sessionFilterrn /*rn rn rn rn Struts2rn org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterrn rn rn Struts2rn *.dorn REQUESTrn FORWARDrn INCLUDErn [/code]
求解值为Null时的出错问题
rnTextBoxDsrbh.Text = tysgbh.ToString() + (Convert.ToInt32(dr2["max_dsrbx"]) + 1).ToString();rnrn当上述的"dr2["max_dsrbx"]"值为Null时出现"对象不能从 DBNull 转换为其他类型"的错误,已试了N种方法无解.SQL语句如下rnrnselect max(dsrbx) as max_dsrbx from mytablernrn
fragment里面加载的自定义控件为null,求解!!!
我在主活动中创建一个fragment子类(lyricfragment)对象的时候,对象类里我只重写了oncreateView()方法,在该方法里我加载了属于该lyricfragment的布局文件,布局文件里只有一个加载音乐字幕的自定义控件lrcview。rn问题是,运行的时候发现了空指针异常,然后用断点调试发现,在加载lyricfragment这个对象的时候,并没有执行里面的oncreateView()方法,所以自定义控件初始化显示为null,导致了后面使用自定义控件的时候发生了空指针异常。rn想问问各位大神,我该如何解决这个问题。rn以下是我的部分代码:rn主活动里加载lyricfragment对象:rnfragments.add(new LyricFragment(musics));rn(因为我用的是viewpager,所以我定义了一个fragments集合来添加lyricfragment对象)rnrnlyricfragment类里面的代码:rnpublic class LyricFragment extends Fragment rn public static LrcView lrcView;rn@Overridern public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) rn View viewrn=inflater.inflate(R.layout.fragment_lyric, null);rn lrcView=(LrcView) view.findViewById(R.id.lrcShowView);rn return view;rn rn断点调试的时候根本没有走到oncreateView方法!rn衷心的拜托各位网友帮忙解决问题!rn
转化"null"为NULL
VBS里面的"null"怎么转换成NULL,或者怎么转换让两者相等; 郁闷页面 "null"居然和NULL 不相等, 向各位高手求解。 谢谢
【Spring】Spring Mvc上传文件
1、上传包:commons-fileupload,commons-io http://www.cnblogs.com/fjsnail/p/3491033.html
spring上传文件
package com.springapp.mvc; import org.apache.commons.io.FileUtils; import org.aspectj.lang.annotation.After; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Befor
spring过滤值为null的JSON字段
问题说明 使用@ResponseBody注解的spring接口返回的JSON格式结果有时会返回包含值为null的字段,但是与前端联调可能并不希望包含这样的字段。 因此,需要过滤掉这类字段。 解决方案 spring json序列化时,通过com.fasterxml.jackson.annotation.JsonInclude.Include指定是否返回值为null的字段。
spring管理jms,connectionFactory为null
我在applicationContext.xml文件中配置了:rn[code=XML][/code]rn rn rn rn tcp://localhost:61616rn rn rn rn rnrn rn rn rn rnrn再在MessageSender里面写入:rn[code=Java][/code]private PooledConnectionFactory connectionFactory;rnrn public void setConnectionFactory(PooledConnectionFactory connectionFactory) rn this.connectionFactory = connectionFactory;rn rnrn谁能告诉我下connectionFactory怎么为null呢?
Spring配置文件注入变量为null解决方案
  &amp;lt;bean id=&quot;targetCommentsAutoReplyBiz&quot; class=&quot;com.yododo.biz.micro.autoReply.impl.TargetCommentsAutoReplyBizImpl&quot;&amp;gt; &amp;lt;property name=&quot;autoreplyContentReplaceMap&quot;&amp;gt; &amp;lt;ma...
Spring Controller 接受 String 为 null
我写一个简单的Controller,但是接受为nullrn[img=https://img-bbs.csdn.net/upload/201609/29/1475133064_463431.png][/img]rn[img=https://img-bbs.csdn.net/upload/201609/29/1475133099_537218.png][/img]rn[img=https://img-bbs.csdn.net/upload/201609/29/1475133127_162.png][/img]rn为什么接收不到啊rn
Spring @Autowired注入为 null 的原因总结
原因 配置缺失,比如为开启注解扫描驱动、注入组件为注册; 使用 new 关键字创建的对象不受spring容器管理,无法注入; 注入静态变量, 静态变量/类变量不是对象的属性,而是一个类的属性,spring则是基于对象层面上的依赖注入。 静态注入的三种方式 在一些工具类中可能会依赖 service 层的对象,一般情况下工具类都是使用静态方法,对应的成员变量也需要声明为静态的,此时如果直接使用 @...
Spring上传文件
Spring上传文件的时候避免文件名称重复的文件,采用时间段文件夹保存文件
Spring @Autowired注入为null,空指针异常
Spring @Autowired注册为空,最常见的原因是查看自动注入的服务是否被注册为Bean,由容器来管理。 还有一个原因稍微隐晦一点,就是自动注入的服务的对象是new 来的,而不是通过Spring容器来管理。 比如: 1.先定义一个服务 @Service(&quot;xxxService&quot;) public class Xxxmpl implements Ixxx{ @Override p...
Spring在多线程下@Resource注入为null
前情叙述记录以下这个坑,我的情况大致是这样的,我在用webmagic写爬虫,在类中通过@Resoource(@Autowired也一样)注入dao接口实例。然后我在process方法中引用这个实例发现这个实例在这里一直为null,然后我在测试类或者当前类的main函数中引用dao实例就没问题,一切正常(当时 黑人问号脸???)几经波折,发现原因是spring和多线程安全的问题,不让注入。因为我也没研
spring获取数据源dataSource为空null
spring配置文件:rn[code=text] rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn com.mysql.jdbc.Driver rn rn rn jdbc:mysql://127.0.0.1:3306/memo rn rn rn root rn rn rn 123456 rn rn rn rn rn rn rn rn rn rn rn rn rn rn /html/ rn .jsp rn rn rn rn [/code]rnrn一个测试类:rn[code=java]rnprivate static final Logger log = Logger.getLogger(ConnectionFactory.class); rn rn private DataSource dataSource; rn rn public void setDataSource(DataSource dataSource) rn this.dataSource = dataSource; rn rn public DataSource getDataSource() rn return this.dataSource; rn rn rn public void query()throws Exception rn log.info("dataSource:"+dataSource); rn Connection conn = dataSource.getConnection(); rn System.out.println("conn:"+conn); rn rn public static void main(String[] args) throws Exception rn new ConnectionFactory().query(); rn rn[/code]rn这个Test类中一直不能获取dataSource,dataSource为空,但是如果不用配置文件,直接在Test类中新建dataSource设置参数如:rn[code=java]rndataSource.setDriverClassName("com.mysql.jdbc.Driver"); rndataSource.setUrl("jdbc:mysql://127.0.0.1:3306/memo"); rndataSource.setUsername("root"); rndataSource.setPassword("123456"); rnConnection conn = dataSource.getConnection(); rn[/code]rn就可以获得dataSource,请各位帮帮我,这个问题是什么引起的,该怎么解决,谢谢!rnjar包截图:[img=https://img-bbs.csdn.net/upload/201405/05/1399292514_851277.jpg][/img]
spring static 注解注入为null的解决办法
1.顶部使用注解:@Component   2.@Autowired   private static RedisUtil redis;修改为   private static RedisUtil redis;    @Autowired    private GetSpidUtil(RedisUtil redis){        GetSpidUtil.redis = redis;    }即...
spring security 获取Authentication对象为null
大家好,本人在用spring做一个系统日志管理功能,需要获取当前用户信息,以下是代码:rn[code=Java]rnSecurityContext securityContext = SecurityContextHolder.getContext(); rn if (securityContext != null) rn Authentication auth = securityContext.getAuthentication(); rn if (auth != null) rn Object principal = auth.getPrincipal(); rn if (principal instanceof UserDetails) rn user=(User) (UserDetails)principal; rn rn else rn loger.warn("WARN: securityContext cannot be lookuped using SecurityContextHolder."); rn rn rnrnrnrnrn[/code]rnrnrn但是在Authentication auth = securityContext.getAuthentication(); 时,返回的Authentication对象为NULL,rn这种问题如何解决,谢谢!
Spring 上传文件
Spring 上传文件 完善的代码 上传更方便
spring 上传文件
exception/error_fileupload @RequestMapping(value=&quot;/upload.do&quot;,method=RequestMethod.POST) @ResponseBody public UserAccount read(@RequestParam(value=&quot;u...
关于MultipartHttpServletRequest转换错误
我项目里使用了spring mvc中作上传功能,但是在用MultipartHttpServletRequest上传文件的时候就报错了.下面是报错信息:rnorg.jasig.cas.client.util.HttpServletRequestWrapperFilter$CasHttpServletRequestWrapper rncannot be cast to org.springframework.web.multipart.MultipartHttpServletRequest.rn求高人帮忙.
求解,SelectObject返回NULL
要改写一下xSkinButton类,然后在DrawBitmap有如下代码:rnvoid CxSkinButton::DrawBitmap(CDC* dc, HBITMAP hbmp, RECT r, int DrawMode)rnrnHDC hdcMem = CreateCompatibleDC(dc->m_hDC);rnHGDIOBJ hbmOld = SelectObject(hdcMem, hbmp);//此句返回NULLrnrn调试发现hbmp参数传过来是有效图片(和外面LoadBitmap返回参数一致),为什么会返回NULL呢?rnrn如果在函数里面LoadBitmap是可以的,即把代码改成如下则是可以的rnvoid CxSkinButton::DrawBitmap(CDC* dc, HBITMAP hbmp, RECT r, int DrawMode)rnrnhbmp = LoadBitmap(IDB_XXX);rnHDC hdcMem = CreateCompatibleDC(dc->m_hDC);rnHGDIOBJ hbmOld = SelectObject(hdcMem, hbmp);rn
m_SerialNumber是NULL,求解
typedef char* (WINAPI* FGetSerialNumber)(int); rnrnvoid GetDiskSerial()rnrn char* m_SerialNumber ;rn //CString m_SerialNumber ="";rn //CString m_DriveNumber;rnrn //m_DriveNumber = "0";rn int iDrive = atoi("0");rnrn FGetSerialNumber GetSerialNumber;rnrn HMODULE DllInst;rnrn DllInst=NULL;rnrn if (DllInst == NULL)rn //DllInst = LoadLibrary(TEXT("GetDiskSerial.dll"));rn DllInst = LoadLibrary("GetDiskSerial.dll");rn rnrn if (DllInst)rn rn GetSerialNumber = (FGetSerialNumber)GetProcAddress(DllInst,"GetSerialNumber");rnrn m_SerialNumber = GetSerialNumber(iDrive);rnrn printf("\n\t\t磁盘物理序列号: %s ",*m_SerialNumber);rn rn rnrn rn elsern rn printf("\n\t\t GetDiskSerial.dll 不存在!");rn rn rn
null instanceof Object 求解?
alert(typeof(null)); //objectrn为什么alert(null instanceof Object); 为false?
使用上传文件出错,求解
报错如下:rn[img=https://img-bbs.csdn.net/upload/201312/09/1386590165_717781.png][/img]rn[img=https://img-bbs.csdn.net/upload/201312/09/1386590175_430988.png][/img]rn地址获取没问题啊,求解!!rn代码如下!!rn[code=html] rn rn rn rn rn [/code]rn[code=csharp]string fileName = Request.Form["upload"];rn // 获取相对地址 rn string strFileNameMapPath = Server.MapPath("upload/");rn fileName = System.IO.Path.GetFileName(fileName);rn // 文件的全地址rn string strFullFileName = strFileNameMapPath + strCompanyName + "\\" + fileName;rn // 存入数据库的地址rn string strPath = strCompanyName + "/" + fileName;rn // 文件的存放文件夹地址rn string strMapPath = strFileNameMapPath + strCompanyName;rn // 判断上传文件夹是否存在 rn if (System.IO.Directory.Exists(strMapPath))rn rn // 判断该图片已经上传rn if (System.IO.File.Exists(strFullFileName))rn rn Response.Write("该文件已经存在!");rn rn elsern rn // 进行上传操作rn upload.PostedFile.SaveAs(strFullFileName);rn rn rn elsern rn // 创建文件夹rn System.IO.Directory.CreateDirectory(strMapPath);rn upload.PostedFile.SaveAs(strFullFileName);rn [/code]
上传文件代码错求解
htmlrn rn 地址是用file控件取了,我放到一个hidde控post取得的rnrncsrn[code=C#]rn /// rn /// 上传图片 c#rn /// rn /// 文件路径rn /// 保存路径rn /// using System.IO;rn /// using System.Net;rn private void UpLoadFile(string fileNamePath,string uriString) rn rn string dateDay=DateTime.Now.Day.ToString();rn string dateMonth=DateTime.Now.Date.Month.ToString();rn string dateYear=DateTime.Now.Date.Year.ToString();rn string tempdata;rn tempdata=dateYear+dateMonth;rn uriString=uriString+ @"\"+tempdata+"\\";//取出真实路径rn if (!Directory.Exists(uriString))rn rn Directory.CreateDirectory(uriString);rnrn rnrn string fileName = fileNamePath.Substring(fileNamePath.LastIndexOf("\\") + 1); rn string NewFileName = DateTime.Now.ToString("yyMMddhhmmss") + DateTime.Now.Millisecond.ToString() + fileNamePath.Substring(fileNamePath.LastIndexOf(".")); rn rn string fileNameExt = fileName.Substring(fileName.LastIndexOf(".") + 1); rn //if(uriString.EndsWith("/") == false) uriString = uriString + @"\"; rn rn uriString = uriString + NewFileName; rn /// 创建WebClient实例 rn WebClient myWebClient = new WebClient(); rn myWebClient.Credentials = CredentialCache.DefaultCredentials; rn rn // 要上传的文件 rn //FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); rn FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read); rn //FileStream fs = OpenFile(); rn BinaryReader r = new BinaryReader(fs); rn //try rn // rn //使用UploadFile方法可以用下面的格式 rn //myWebClient.UploadFile(uriString,"PUT",fileNamePath); rn byte[] postArray = r.ReadBytes((int)fs.Length); rn Stream postStream = myWebClient.OpenWrite(uriString,"PUT"); rn if(postStream.CanWrite) rn rn postStream.Write(postArray,0,postArray.Length); rn Response.Write("文件提交成功 "+uriString);rn rn else rn rn Response.Write("文件目前不可写"); rn rn postStream.Close(); rn // rn //catch rn // rn //Response.Write("文件上传失败,请稍候重试~"); rn // rn [/code]rnweb.configrn [code=XML] rnrn rn rn rn rn [/code]rnrnrn如果没有是无法上传的会出现下在的错误提示,但问题是如果加了这句本机是可以用,但其它机器就无法上传,其它机器有时会有一个要输入用户密码框弹出来等,我试着在网上找很久,将上传的目录加上asp.net权限、将asp.net临时目录加上asp.net权限等都没有。我以前一直用asp上传,现在想用asp.net来上传请问有没有方法解决这个问题做到,直接就上传了。rnrn对路径“D:\Documents and Settings\Administrator\My Documents\1192503057-15666769150.jpg”的访问被拒绝。 rn说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 rnrn异常详细信息: System.UnauthorizedAccessException: 对路径“D:\Documents and Settings\Administrator\My Documents\1192503057-15666769150.jpg”的访问被拒绝。 rnrnASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 MACHINE\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 rnrn若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。rnrn源错误: rnrnrn行 84: // 要上传的文件 rn行 85: //FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); rn行 86: FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read); rn行 87: //FileStream fs = OpenFile(); rn行 88: BinaryReader r = new BinaryReader(fs); rn rnrn源文件: d:\inetpub\wwwroot\yikeba\file\updata.aspx.cs 行: 86 rnrn堆栈跟踪: rnrnrn[UnauthorizedAccessException: 对路径“D:\Documents and Settings\Administrator\My Documents\1192503057-15666769150.jpg”的访问被拒绝。]rn System.IO.__Error.WinIOError(Int32 errorCode, String str) +393rn System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy) +888rn System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access) +43rn yikeba.file.updata.UpLoadFile(String fileNamePath, String uriString) in d:\inetpub\wwwroot\yikeba\file\updata.aspx.cs:86rn yikeba.file.updata.Page_Load(Object sender, EventArgs e) in d:\inetpub\wwwroot\yikeba\file\updata.aspx.cs:22rn System.Web.UI.Control.OnLoad(EventArgs e)rn System.Web.UI.Control.LoadRecursive()rn System.Web.UI.Page.ProcessRequestMain()rnrn rnrnrn--------------------------------------------------------------------------------rn版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池