上传文件,服务器没有接收到请求 5C

1.环境:nodeJs + vue + spring , Tomcat 服务器;
2.只要涉及到上传文件的接口,装有nodeJs + vue环境的电脑80%的概率是调用上传接口后服务器没有接收到请求,感觉是服务器阻塞了,开VPN的电脑也大概率是这种情况,但是其他电脑都能正常上传
3.根据网上提供的服务器TIME_WAIT和CLOSE_WAIT问题的解决方案改了Tomcat 和 后台的一些配置和代码,没有任何效果;
4.用上述2所提的电脑环境,运行前端原生代码来上传文件,存在同样问题;

电脑环境不应该对上传文件产生如此大的影响,但是原来95%可上传的电脑配置了vue开发环境后也变成了80%不可上传的状态,
求解究竟是哪方面的原因,感谢~~~

1个回答

你首先浏览器f12http抓包,看文件上传的数据发过去没有,服务器返回了什么状态码。如果返回404就是服务器地址都没有对
如果是500就是服务器的问题,如果根本服务器没有响应就是tomcat或者nodejs没有配置对。
如果500,再调试服务器,看报什么错误,多半是权限的问题。

sf352113939
sf352113939 没有404也没500,服务器用的就是tomcat,上传请求发送了,但是监测服务端是没有收到的。而且这种情况存在极大的概率,有的电脑长期有这问题,有的电脑几乎不出现
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
上传文件到文件服务器以及从文件服务器下载文件
有两个web服务器(tomcat) , 由于上传的文件较多, 想弄一个文件服务器, 专门存储图片视频等, 所以当页面上传图片时,要通过tomcat把视频上传到文件服务器,当页面上请求某个图片或视频时,请求的是tomcat,由tomcat再去文件服务器把资源弄过来发送过去(因为web项目已经做好了,像<img>之类的标签都是请求的tomcat,不想改<img>的路径直接指向文件服务器) 1.文件服务器用什么?我不知道文件服务器还是用tomcat或者用ftp服务器,望给个建议 2.如果用tomcat做文件服务器,向文件服务器上传文件是不是还需要在文件服务器端再部署一个应用专门接收并保存文件文件, 如果用ftp又需不需要呢? 3.如果用tomcat做文件服务器,当页面请求图片时(如<img>标签),我怎么配置tomcat让他去文件服务器上去取图片呢?用ftp又怎么取呢? 我没有什么思路,用什么服务器也不知道,希望大家给点建议
c# (注释清楚)mvc项目中图片上传到服务器的文件夹
# 图片到控制器后 图片怎么就能上传到服务器里面的文件夹? # 通过什么方式?服务器又是通过什么方式接收到图片的? #客户端请求图片时,怎么返回来的? # jquery 又是怎么发送图片的?服务器怎么接收的? 求解惑!! 详细!详细!最好有原理
Android客户端上传文件到服务器报错413
情景是这样的,我在android客户端上传图片到服务器,服务器接收到我上传的图片后会生成一张对应的小图并把图片在服务器保存的地址返回给我。当我批量上传图片到服务器超过120张的时候,服务器会返回给我一个413错误。刚才说了,服务器会根据上传的图片生成一张对应的小图,如果我把生成小图这个参数去掉的话,批量上传150张都没有问题。但是如果需要服务器生成小图,超过120张就报错413了。通过抓包以及debug查看,![图片说明](https://img-ask.csdn.net/upload/201705/24/1495617402_857106.png)。因为这个请求分为上传到服务器,服务器处理数据后在给客户端一个数据的返回这是一个完整的请求。那么这里把请求划分为2个部分,一个是上传部分,一个是下载部分(服务器处理接收到的数据算为下载部分)。上面的图片是抓包的截图,表示请求该接口时上传数据部分。![图片说明](https://img-ask.csdn.net/upload/201705/24/1495617677_457388.png)此张图片表示的是请求接口时的第二部分,下载数据 部分,服务器处理数据的时间超过2分钟后,也就是刚第二张图片那个接口箭头向下的时间超过2分钟(这里的时间是通过打印log来得知的,图中箭头部分的第一个时间是表示上传部分完成的时间,第二个时间表示报错的时间![图片说明](https://img-ask.csdn.net/upload/201705/24/1495617733_714350.png))后,就会报错413![图片说明](https://img-ask.csdn.net/upload/201705/24/1495617887_916720.png)----这里报错的具体信息为** Response{protocol=http/1.1, code=413, message=Request Entity Too Large}^^^^^^^java.lang.IllegalArgumentException: rawResponse must be successful response **。请问这个是什么原因,是服务器处理时间太久了吗?导致报错,但是为什么会报413错误啊,而不是408请求超时。不是数据太大的原因,因为如果不加生成小图的参数,服务器不把上传的图片生成小图,处理时间相对很短,不会超过2分钟的时间,那么上传200张图片都没有问题,但是如果一加上生成小图的参数,服务器处理的时间会相对的变长,此时即使是130张图片也会报错。请问这个是和服务器什么参数设置有关啊?或是因为什么原因产生的这个问题啊?
Struts2中文件上传请求转发问题求解
嗨,各位,我想实现一个Struts2的文件上传功能,客户端通过jsp页面上传文件,Struts2服务器端根据一定的策略将这个上传请求转发到别的机器上的Struts2子服务器端,并在子服务器端接收该服务。目前我使用的方式是Struts2+socket传输。试过用Servlet的转发和重定向都不行,不知道有没有人做过相关的工作
java程序怎么发送带有文字和文件的post请求,并且返回文字和文件
rt,本人在服务器上写了一个servlet来接收post请求,用网页的form表单测试了一下可以同时接收文本框的内容和文件的上传,但是我想用java程序来发送这个post请求,查了很多,要么只有文本或者只有文件传输,没有同时传送文本和文件的,还有我想服务器返回给客户端的里面也同时包含文本或者文件,怎么做,各位大神给个例子可好
XMLHttpRequest对象向服务器(servlet)发出请求,服务端如何接收
/** * 页面上显示需要上传的文件 * @private */ function _showUploadFile(file) { var reader = new FileReader(); console.log(file) // console.log(reader); //判断文件类型 if (file.type.match(/image*/)) { reader.onload = function (e) { var formData = new FormData(); console.info("1:"+formData); console.info(formData); var li = $("#template li").clone(); var img = li.find("img"); var progress = li.find(".progress"); var percentage = li.find(".percentage"); percentage.text("0%"); img.attr("src", e.target.result); $("ul", $(_uploadEle)).append(li); $(_uploadEle).find("li").size() == 10 && $(_uploadEle).width(($(_uploadEle).width() + 8) + "px").css("overflow", "auto"); console.info(file); //formData.uploadFile = file; formData.append("uploadFile", file); //上传文件到服务器 _uploadToServer(formData, li, progress, percentage); }; reader.readAsDataURL(file); } else { console.log("此" + file.name + "不是图片文件!"); } } /** * 上传文件到服务器 * @private */ function _uploadToServer(formData, li, progress, percentage) { var xhr = new XMLHttpRequest(); xhr.open("POST", "http://localhost:8080/html5Upload/FileUploadServlet.html", true); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest', 'Content-Type', 'multipart/form-data;'); //HTML5新增的API,存储了上传过程中的信息 xhr.upload.onprogress = function (e) { var percent = 0; if (e.lengthComputable) { //更新页面显示效果 percent = 100 * e.loaded / e.total; progress.height(percent ); percentage.text(percent + "%"); percent >= 100 && li.addClass("done"); } }; xhr.send(formData); } ``` 注:xhr.send(content);--向服务器发出请求,如果采用异步方式,该方法会立即返回。content可以指定为null表示不发送数据,其内容可以是DOM对象,输入流或字符串。 ```
Android POST请求上传中文到 JAVA 后台服务器显示乱码
Android这边使用的是OKHTTP3作为网络框架的,我查了一下发现它的默认编码就是UTF-8,请求时使用了一个工具类来提交POST请求,代码如下: ``` public static Object[] postHttp(Context context, String url, HashMap<String, String> params, String cachetype, int cacheseconds) { try { // 缓存文件夹 File cacheFile = new File(context.getExternalCacheDir().toString(), "cache"); // 缓存大小为50M int cacheSize = 50 * 1024 * 1024; // 创建缓存对象 final Cache cache = new Cache(cacheFile, cacheSize); OkHttpClient mOkHttpClient = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .readTimeout(20, TimeUnit.SECONDS) .cache(cache) .build(); FormBody.Builder formBodyBuilder = new FormBody.Builder(); for (Map.Entry<String, String> entry : params.entrySet()) formBodyBuilder.add(entry.getKey(), entry.getValue()); RequestBody formBody = formBodyBuilder.build(); CacheControl cacheControl = null; if (cachetype.equals(TYPE_CACHE_CONTROL)) { cacheControl = new CacheControl.Builder() .maxAge(cacheseconds, TimeUnit.SECONDS).build(); } if (cachetype.equals(TYPE_FORCE_CACHE)) { cacheControl = FORCE_CACHE; } if (cachetype.equals(TYPE_FORCE_NETWORK)) { cacheControl = FORCE_NETWORK; } Request request = new Request.Builder() .cacheControl(cacheControl) .url(url) .post(formBody) .build(); Response response = mOkHttpClient.newCall(request).execute(); String result = response.body().string(); // ... } catch (Exception e) { // ... } } ``` JAVA后台已经设置了编码: ``` request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); ``` TOMCAT中的server.xml中也进行了设置: ``` <Connector port="8080" protocol="HTTP/1.1" useBodyEncodingForURI="true" URIEncoding="utf-8" connectionTimeout="20000" redirectPort="8443" /> ``` Android上传中文的时候,服务器接收到的是%E5%95%A6%E5%95%A6%E5%95%A6这样的编码。 这个问题困扰了我很久,请问有大神知道解决方案吗?
我这样做asp.net异步文件上传进度条
前台两个请求  1.上传文件的请求  2.获取上传进度的请求 1. ``` $("#ufrm").ajaxSubmit({ url: "ReceivFile.ashx", type: "post", success: function (data) { ... ``` 2. ``` $.ajax({ type: "post", url: "Filepro.aspx", data: { type: "gp" }, success: function (data) { ... ``` 后台两个处理: 1.接收文件的处理 ```       int readcount = 0; int tcount = 0; tcount = files.ContentLength; byte[] buffer=new byte[10]; System.IO.FileStream fs= System.IO.File.Create(context.Server.MapPath(pic)); HttpContext.Current.Session["fp"] = "1"; while ((readcount=stream.Read(buffer,0,10))>0) { fs.Write(buffer, 0, readcount); HttpContext.Current.Session["fp"] = fs.Length + "/" + tcount; } ``` 2.返回进度 ```  if (tag.Equals("gp")) { if (Session["fp"] != null) { Response.Write(Session["fp"].ToString()); Response.End(); } else { Response.Write("NULL"); Response.End(); } } ``` 服务器接收文件的过程中把上传的进度存到session中 前台请求上传进度的时候 服务器从这个session里获取值发送给前台 前台再显示出来 我这样去实现上传的进度显示可以吗? 现在的问题是 返回的进度总是NULL 像是被接收文件那个线程给独占了一样  应该怎样去改进 求指教 我查了这两个请求(上传文件请求和获取进度请求)的sessionid是一样的!
使用eclipse用TCP协议创建服务器和客户端,从客户端向服务器传文件
服务器代码: package com.xfr.test; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public class Test2_UpLoadServer { /**  * @param args  * @throws IOException   */ public static void main(String[] args) throws IOException { ServerSocket server = new ServerSocket(6666); //创建服务器,绑定端口号777 System.out.println("启动服务器,端口号为6666!!!"); while(true){ final Socket socket = server.accept();  //接收客户端的请求,有可能接收多个客户端的请求,所以用多线程 new Thread(){ public void run(){ try { InputStream  is = socket.getInputStream(); //拿到客户端的流 BufferedReader br = new BufferedReader(new InputStreamReader(is)); //用Buffer缓冲区更好读取 PrintStream ps = new PrintStream(socket.getOutputStream()); //用PrintStream的好处是可以写字符也可以写字节 String fileName = br.readLine();//接收到要上传的文件的名字 File dir = new File("upload"); //创建一个文件夹来存放文件 dir.mkdir(); File file = new File(dir,fileName); //对文件名字进行封装来进行判断操作 if(file.exists()){ ps.println("存在"); //若文件在服务器中存在,给与客户端提示 socket.close(); }else{ //文件在服务器中没有,则开始接收 FileOutputStream fos = new FileOutputStream(file); byte[] arr = new byte[8192]; int len; while(( len = is.read(arr)) != -1){ fos.write(arr, 0, len); } fos.close(); //记得关流和关端口 socket.close(); } } catch (IOException e) { e.printStackTrace(); } } }.start(); } } } 客户端代码: package com.xfr.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class Test2_UploadClient { /**  * 向服务器上传文件,文件路径从键盘获取  * @param args  * @throws IOException   * @throws UnknownHostException   */ public static void main(String[] args) throws UnknownHostException, IOException { Socket socket = new Socket("169.254.33.252",6666);//创建客户端 File file = getFile();//获取文件 BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintStream ps = new PrintStream(socket.getOutputStream()); ps.println(file.getName()); //将文件名字传给服务器,服务器再对其进行判断 String result = br.readLine(); if("存在".equals(result)){ System.out.println("该文件在服务器中已经存在,请不要重复上传!"); socket.close(); return; } else { //文件不存在的话,开始读取该文件 FileInputStream fis = new FileInputStream(file); byte[] arr = new byte[8192];  int len; while((len = fis.read(arr)) != -1){ ps.write(arr, 0, len);//向服务器传 } fis.close(); socket.close();//F:\Test\aaa.txt } } public static File getFile() { Scanner sc = new Scanner(System.in); while(true){ String s = sc.nextLine(); File file = new File(s); if(!file.exists()){ System.out.println("您要上传的文件不存在!重新输入文件路径:"); } else if(file.isDirectory()){ System.out.println("您输入的是文件夹路径!重新输入文件路径:"); } else{ return file; } } } } ###执行后输入路径,路径正确的话程序不会停下来,红方块一直在 ![图片说明](https://img-ask.csdn.net/upload/201710/25/1508926710_596979.png) 手动点掉红方块后刷新项目 ![图片说明](https://img-ask.csdn.net/upload/201710/25/1508926743_190021.png) 可以看到eclipse当前路径多了要拷贝的文件,可是文件字节大小为0 ![图片说明](https://img-ask.csdn.net/upload/201710/25/1508926754_412742.png) 更多
WebApi 上传附件到 ftp 服务器
想要实现的功能:Post附件到WebApi,WebApi 将文件转发到 ftp服务器。 主要功能已经实现,有一个问题:需要在WebApi服务器,接收流写入WebApi本地文件,然后读取文件流写入 ftp 服务器,然后再删除WebApi 服务器上的本地文件,现在不想在WebApi本地写文件,直接取Request的流写入到 ftp,不知道能不能实现,应该怎样写? 1. Post附件到WebApi 主要代码: #region 上传文件 /// <summary> /// 通过multipart/form-data方式上传文件 /// </summary> /// <returns></returns> [HttpPost] public async Task<HttpResponseMessage> PostFile() { MessagesDataCodeModel json = new MessagesDataCodeModel(false, "无效参数", 401); try { // 是否请求包含multipart/form-data。 if (!Request.Content.IsMimeMultipartContent()) { logger.Error("上传格式不是multipart/form-data"); throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } string root = HttpContext.Current.Server.MapPath("/UploadFiles/"); if (!Directory.Exists(HttpContext.Current.Server.MapPath("~/UploadFiles/"))) { Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/UploadFiles/")); } var provider = new MultipartFormDataStreamProvider(root); StringBuilder sb = new StringBuilder(); // Holds the response body // 阅读表格数据并返回一个异步任务. await Request.Content.ReadAsMultipartAsync(provider); // 如何上传文件到文件名. foreach (var file in provider.FileData) { string orfilename = file.Headers.ContentDisposition.FileName.TrimStart('"').TrimEnd('"'); FileInfo fileinfo = new FileInfo(file.LocalFileName); //sb.Append(string.Format("Uploaded file: {0} ({1} bytes)\n", fileInfo.Name, fileInfo.Length)); //最大文件大小 //int maxSize = Convert.ToInt32(SettingConfig.MaxSize); if (fileinfo.Length <= 0) { json.Success = false; json.Msg = "请选择上传文件"; json.Code = 301; } else if (fileinfo.Length > ConfigHelper.MaxFileSize) { json.Msg = "上传文件大小超过限制"; json.Code = 302; } else { string fileExt = orfilename.Substring(orfilename.LastIndexOf('.')); //定义允许上传的文件扩展名 //String fileTypes = SettingConfig.FileTypes; //if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(fileTypes.Split(','), fileExt.Substring(1).ToLower()) == -1) //{ // json.Msg = "图片类型不正确"; // json.Code = 303; //} //else //{ //String ymd = DateTime.Now.ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo); //String newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", System.Globalization.DateTimeFormatInfo.InvariantInfo); fileinfo.CopyTo(Path.Combine(root, fileinfo.Name + fileExt), true); json.Success = true; json.Msg = "操作成功"; json.Code = 200; sb.Append("/UploadFiles/" + fileinfo.Name + fileExt); json.Data = sb.ToString(); //} } fileinfo.Delete();//删除原文件 } } catch (System.Exception e) { json.Success = false; json.Msg = "服务器无响应"; json.Code = 500; logger.Error("PostFile()服务器错误", e); } return ToJsonTran.ToJson(json); } #endregion 上传文件 2. 上传到 ftp服务器 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo">需要上传的文件</param> /// <param name="targetDir">目标路径</param> /// <param name="hostname">ftp地址</param> /// <param name="username">ftp用户名</param> /// <param name="password">ftp密码</param> public static void UploadFile(FileInfo fileinfo, string targetDir, string hostname, string username, string password) { //1. check target string target; if (targetDir.Trim() == "") { return; } target = Guid.NewGuid().ToString(); //使用临时文件名 string URI = "FTP://" + hostname + "/" + targetDir + "/" + target; ///WebClient webcl = new WebClient(); System.Net.FtpWebRequest ftp = GetRequest(URI, username, password); //设置FTP命令 设置所要执行的FTP命令, //ftp.Method = System.Net.WebRequestMethods.Ftp.ListDirectoryDetails;//假设此处为显示指定路径下的文件列表 ftp.Method = System.Net.WebRequestMethods.Ftp.UploadFile; //指定文件传输的数据类型 ftp.UseBinary = true; ftp.UsePassive = true; //告诉ftp文件大小 ftp.ContentLength = fileinfo.Length; //缓冲大小设置为2KB const int BufferSize = 2048; byte[] content = new byte[BufferSize - 1 + 1]; int dataRead; //打开一个文件流 (System.IO.FileStream) 去读上传的文件 using (FileStream fs = fileinfo.OpenRead()) { try { //把上传的文件写入流 using (Stream rs = ftp.GetRequestStream()) { do { //每次读文件流的2KB dataRead = fs.Read(content, 0, BufferSize); rs.Write(content, 0, dataRead); } while (!(dataRead < BufferSize)); rs.Close(); } } catch (Exception ex) { } finally { fs.Close(); } } ftp = null; //设置FTP命令 ftp = GetRequest(URI, username, password); ftp.Method = System.Net.WebRequestMethods.Ftp.Rename; //改名 ftp.RenameTo = fileinfo.Name; try { ftp.GetResponse(); } catch (Exception ex) { ftp = GetRequest(URI, username, password); ftp.Method = System.Net.WebRequestMethods.Ftp.DeleteFile; //删除 ftp.GetResponse(); throw ex; } finally { //fileinfo.Delete(); } // 可以记录一个日志 "上传" + fileinfo.FullName + "上传到" + "FTP://" + hostname + "/" + targetDir + "/" + fileinfo.Name + "成功." ); ftp = null; #region /***** *FtpWebResponse * ****/ //FtpWebResponse ftpWebResponse = (FtpWebResponse)ftp.GetResponse(); #endregion }
Spring Cloud应用了Zuul上传文件失败
Spring Cloud 应用了Zuul进行前台请求对应服务的跳转,浏览器上传文件前段服务接收不到文件列表长度为0 前台能上传成功,测试后台接收文件的方法如下 @ApiOperation(httpMethod="POST",value = "添加上传文件", notes = "上传文件") @PostMapping("/file/upload/file") @ResponseBody File upload(@ApiParam("业务流程模型")@Param(value = "file") List<MultipartFile> file) { List<File> list = new ArrayList<File>(); System.out.println("******"+file.size()); for (MultipartFile multipartFile:file) { File newFile = new File(); System.out.println("multipartFile=="+multipartFile); InputStream inputStream; try { inputStream = multipartFile.getInputStream(); System.out.println("inputStream==="+inputStream); String OldFile = multipartFile.getOriginalFilename(); System.out.println("******"+OldFile); } catch (IOException e) { e.printStackTrace(); } } return new File(); }
求高手实现以下代码(JAVA),TCP网络编程
需求:应用所学技术实现 1. 客户端向服务器端请求存储一个图片 2. 服务器端进行判定,本地是否存在此图片,并将结果返回给客户端 3. 客户端根据服务器端返回的结果判定,如果服务器端存在该文件则结束程序,如果服务器端不存在该文件,则把文件上传到服务器端 4. 服务器端接收到数据然后把数据存储到服务器本地 附加需求:要求要上传的文件名是通过键盘录入的,并且要保证录入的路径是文件路径
本地程序通过MultipartFile形式上传图片,接收为NULL
因项目需要,所以需要做一个从本地的EXE程序中,通过http请求方式往服务器上传图片的功能。现在的错误情况是,http请求成功,但是上传的MultipartFile 文件为空。本人初学者,在线翻了很多帖子都是web对service这种形式的,感觉好像和我的需求不太一样。所以想发个求助帖,想请诸位大神指点一下。代码如下: **EXE端请求代码:** ![图片说明](https://img-ask.csdn.net/upload/201910/21/1571658372_312561.png) ![图片说明](https://img-ask.csdn.net/upload/201910/21/1571658736_994495.png) **服务器端接收代码:** ![图片说明](https://img-ask.csdn.net/upload/201910/21/1571658405_19300.png) **之前使用的是没有@Param("file")这个参数的这种:** ![图片说明](https://img-ask.csdn.net/upload/201910/21/1571665533_108279.png) **服务器端错误log:** ![图片说明](https://img-ask.csdn.net/upload/201910/21/1571658477_566581.png) -------------------------------------------------------------------------------- 通报一下进度,就是目标已经实现了,不过服务器端的接口不使用的MultipartFile。感觉还是自己的MultipartFile设定的有问题,要是有大佬会的话欢迎指导。下面上代码 EXE端: ![图片说明](https://img-ask.csdn.net/upload/201910/28/1572229949_357991.png) 服务器端: ![图片说明](https://img-ask.csdn.net/upload/201910/28/1572229981_269928.png)
关于Web Uploader IE9上传文件的问题?
这是我的代码: ``` var uploader = WebUploader.create({ // swf文件路径 swf: '/zg-fx/layui/ux/js/webuploader/Uploader.swf', // 文件接收服务端。 server: uploadPath+"/uploadFile", // 选择文件的按钮。可选。 // 内部根据当前运行是创建,可能是input元素,也可能是flash. pick: '#picker', // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传! resize: false, headers: {'token': token}, auto: true }); ``` 在谷歌ie10上都可以 ie10: ![图片说明](https://img-ask.csdn.net/upload/201811/20/1542680642_321640.png) 会正常发送一个请求, ie9就不行了: ![图片说明](https://img-ask.csdn.net/upload/201811/20/1542680658_322642.png) 没有我uploadFile的请求,倒是不知道哪来的一个.xml的请求。 一开始我以为是swf文件没有引入进来, 但是看了资源后发现是有的。 不知为什么。 望各位解答, 谢谢!
Android向PHP服务端上传文件报FileNotFoundException错误
服务端:(auth变量为用户登录状态验证,这部分确认没错。) ``` if( $auth==1){ $target_path = ROOT.basename($_FILES['uploadedfile']['name']); echo $target_path; if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "The file ". basename( $_FILES['uploaded_file']['name']). " has been uploaded"; } else{ echo "There was an error uploading the file, please try again!" . $_FILES['uploadedfile']['error']; } }else{ echo 'error_login'; } ``` 客户端: ``` private String uploadFile = Environment.getExternalStorageDirectory()+ "/" + packageName + "/" + "images" + "/" + "image.jpg"; private String srcPath = Environment.getExternalStorageDirectory()+ "/" + packageName + "/" + "images" + "/" + "image.jpg"; private String actionUrl = getTargetUrl(); //PHP连接 private void uploadFile(final String uploadUrl) { Thread thread = new Thread() { @Override public void run() { //DEBUG File file = new File(uploadFile); if(file.exists()){ Log.i("DEBUG","要上传的文件存在"); } String end = "\r\n"; String twoHyphens = "--"; String boundary = "******"; try { URL url = new URL(uploadUrl); HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection(); // 设置每次传输的流大小,可以有效防止手机因为内存不足崩溃 // 此方法用于在预先不知道内容长度时启用没有进行内部缓冲的 HTTP 请求正文的流。 httpURLConnection.setChunkedStreamingMode(128 * 1024);// 128K // 允许输入输出流 httpURLConnection.setDoInput(true); httpURLConnection.setDoOutput(true); httpURLConnection.setUseCaches(false); // 使用POST方法 httpURLConnection.setRequestMethod("POST"); httpURLConnection.setRequestProperty("Connection", "Keep-Alive"); httpURLConnection.setRequestProperty("Charset", "UTF-8"); httpURLConnection.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary); DataOutputStream dos = new DataOutputStream(httpURLConnection.getOutputStream()); dos.writeBytes(twoHyphens + boundary + end); dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\"; filename=\"" + srcPath.substring(srcPath.lastIndexOf("/") + 1) + "\"" + end); dos.writeBytes(end); FileInputStream fis = new FileInputStream(srcPath); byte[] buffer = new byte[8192]; // 8k int count = 0; // 读取文件 while ((count = fis.read(buffer)) != -1) { dos.write(buffer, 0, count); } fis.close(); dos.writeBytes(end); dos.writeBytes(twoHyphens + boundary + twoHyphens + end); dos.flush(); InputStream is = httpURLConnection.getInputStream(); InputStreamReader isr = new InputStreamReader(is, "utf-8"); BufferedReader br = new BufferedReader(isr); String result = br.readLine(); dos.close(); is.close(); } catch (Exception e) { e.printStackTrace(); setTitle(e.getMessage()); } } }; thread.start(); } ``` 运行后返回错误:(包含服务端接收页面的链接) 报错后运行也中止了,没有收到服务端打印的任何信息。 java.io.FileNotFoundException: http://.../upload.php at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:206) Studio指示错误的行是: InputStream is = httpURLConnection.getInputStream(); 起初以为是本地文件不存在,结果用文件管理器确认、包括代码中检查后也打出了“文件存在“,可以确定的是客户端文件路径没错。后来以为URL链接有问题,用电脑浏览器可以正常打开,可以打印内容,所以服务端链接也应没错。 百思不得其解,搜索很久也没找到解决方案,特来求助。求老司机带一带。
linux环境下C语言实现云盘功能。
socket编程实现。 总要求:文件多线程上传下载。具备断点续传功能。能够显示上传下载进度百分比。 要求:(1) 服务器一直运行 (2) 客户端启动后,要连接服务器,连接成功应该有提示。 (3) 客户端应该发命令给服务器,要求显示单层路径下文件的列表。 (4) 针对某个文件,发出下载命令,服务器将该文件发给客户端。客户端接收。 (5) 上传也是一样的。客户端发出上传请求,然后将文件发给服务器。 (6) 传文件其实是将文件打开,然后将里面的数据传(write)过去。 (7) 注意服务器和客户端之间的对话(通信)协议。应该先将协议写好。
js用post上传数据到服务器,responseText返回错误
我的index.js代码是这样的: 目的是将一个随机数字符串上传到服务器上,然后console.log服务器的返回值。 ``` var randomNum = Math.floor(Math.random() * 5).toString(); console.log(randomNum); var xhr = new XMLHttpRequest(); //创建XHR对象 xhr.open("post","helloWorld.js"); xhr.onreadystatechange = function() { if(xhr.readyState == 4) { if((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) { console.log("ok:"+xhr.status); console.log(xhr.responseText); }else { alert("Request was unsuccessful:" + xhr.status); } } //if }; xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"); xhr.send(randomNum); ``` 然后我的运行在服务器上的node.js代码名为helloWorld.js是这样的: 目的是接收浏览器传来的随机数,然后返回“ok” ``` //引入模块 var http = require("http"); var url = require("url"); var querystring = require("querystring"); console.log("!!!"); //创建服务器 var server = http.createServer( function(request, response) { console.log("?????"); console.log(request); var getData = ""; request.on("data", function(chunk){ getData += chunk;}); console.log(getData); //response.writeHeader(200,{"Content-Type":"text/javascript;charset=UTF-8"}); response.write("ok"); response.end(); }); //设置监听窗口 server.listen(3333,function(){ console.log("Server running..."); }); ``` 当我打开网站的时候: 1.chorme的控制台输出如下: 第一行是我产生的随机数 第二行是console.log("ok:"+xhr.status);的输出 第三行是console.log(xhr.responseText);的输出,问题出在这里,没有返回“ok”,而是显示了服务器上的文件helloWorld.js的代码,这是为什么呢?如何显示正确的结果“ok”? ![图片说明](https://img-ask.csdn.net/upload/201805/05/1525513748_190263.png) 2.云服务器的控制台输出的结果如下: 这里甚至没有输出“????”,这个我也不知道是为什么。 ![图片说明](https://img-ask.csdn.net/upload/201805/05/1525513777_152081.png) 请求指教!十分感谢!
用HttpURLConnection 传图片总是返回400 求大神指教是哪里有问题
代码如下 import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; public class FileUpload { /** * fileName 文件名(不带后缀) * filePath 文件的本地路径 (xxx / xx / test.jpg) */ public static void executeMultipartPost(String fileName, String filePath, String RequestURL) { HttpURLConnection conn = null; /// boundary就是request头和上传文件内容的分隔符(可自定义任意一组字符串) String BOUNDARY = "******"; // 用来标识payLoad+文件流的起始位置和终止位置(相当于一个协议,告诉你从哪开始,从哪结束) String preFix = ("\r\n--" + BOUNDARY + "--\r\n"); try { // (HttpConst.uploadImage 上传到服务器的地址 URL url = new URL(RequestURL); conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(5000); conn.setReadTimeout(30000); conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); // 设置请求方法 conn.setRequestMethod("POST"); // 设置header conn.setRequestProperty("Accept","*/*"); conn.setRequestProperty("Connection", "keep-alive"); conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + BOUNDARY); // 获取写输入流 OutputStream out = new DataOutputStream(conn.getOutputStream()); // 获取上传文件 File file = new File(filePath); // 要上传的数据 StringBuffer strBuf = new StringBuffer(); // 标识payLoad + 文件流的起始位置 strBuf.append(preFix); // 下面这三行代码,用来标识服务器表单接收文件的name和filename的格式 // 在这里,我们是file和filename.后缀[后缀是必须的]。 // 这里的fileName必须加个.jpg,因为后台会判断这个东西。 // 这里的Content-Type的类型,必须与fileName的后缀一致。 // 如果不太明白,可以问一下后台同事,反正这里的name和fileName得与后台协定! // 这里只要把.jpg改成.txt,把Content-Type改成上传文本的类型,就能上传txt文件了。 strBuf.append("Content-Disposition: form-data; name=\"file\"; filename=\"" + fileName+".jpg" + "\"\r\n"); strBuf.append("Content-Type: image/jpeg" + "\r\n\r\n"); out.write(strBuf.toString().getBytes()); // 获取文件流 FileInputStream fileInputStream = new FileInputStream(file); DataInputStream inputStream = new DataInputStream(fileInputStream); // 每次上传文件的大小(文件会被拆成几份上传) int bytes = 0; // 计算上传进度 float count = 0; // 获取文件总大小 int fileSize = fileInputStream.available(); // 每次上传的大小 byte[] bufferOut = new byte[1024]; // 上传文件 while ((bytes = inputStream.read(bufferOut)) != -1) { // 上传文件(一份) out.write(bufferOut, 0, bytes); // 计算当前已上传的大小 count += bytes; // 打印上传文件进度(已上传除以总大*100就是进度) System.out.println("progress:" +(count / fileSize * 100) +"%"); } // 关闭文件流 inputStream.close(); // 标识payLoad + 文件流的结尾位置 out.write(preFix.getBytes()); // 至此上传代码完毕 // 总结上传数据的流程:preFix + payLoad(标识服务器表单接收文件的格式) + 文件(以流的形式) + preFix // 文本与图片的不同,仅仅只在payLoad那一处的后缀的不同而已。 // 输出所有数据到服务器 out.flush(); // 关闭网络输出流 out.close(); // 重新构造一个StringBuffer,用来存放从服务器获取到的数据 strBuf = new StringBuffer(); // 打开输入流 , 读取服务器返回的数据 BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; // 一行一行的读取服务器返回的数据 while ((line = reader.readLine()) != null) { strBuf.append(line).append("\n"); System.out.println(line+"\n"); } // 关闭输入流 reader.close(); // 打印服务器返回的数据 System.out.println("上传成功:"+strBuf.toString()); } catch (Exception e) { System.out.println("上传图片出错:"+e.toString()); } finally { if (conn != null) { conn.disconnect(); } } } public static void main(String arg[]){ String url = "http://192.168.0.200:8080/FileUploaderRESTService-1/rest/upload"; File file = new File("C:/Users/ANXIN/Desktop/logo.png"); executeMultipartPost("logo","C:/Users/ANXIN/Desktop/logo.jpg","http://192.168.0.200:8080/FileUploaderRESTService-1/rest/upload"); } }
springmvc使用 uploadify3.2 传值
取到得值为null jsp页面 ``` <script type="text/javascript"> $(function(){ $("#uploadify").uploadify({ 'debug' : false, //开启调试 'auto' : false, //是否自动上传 'swf' : 'uploadify/uploadify.swf', //引入uploadify.swf 'uploader' : '../upload/upload',//请求路径 后台处理程序的相对路径 处理上传文件的服务类 'queueID' : 'fileQueue',//队列id,用来展示上传进度的 'width' : '105', //按钮宽度 'height' : '30', //按钮高度 'queueSizeLimit' : 10, //同时上传文件的个数 'fileTypeDesc' : '可选文件类型', //可选择文件类型说明 'fileTypeExts' : '*.jpg;*.gif;*.txt', //控制可上传文件的扩展名 'multi' : true, //允许多文件上传 'buttonText' : '点击文件上传',//按钮上的文字 'fileSizeLimit' : '100MB', //设置单个文件大小限制 'fileObjName' : 'uploadify', //<input type="file"/>的name 'method' : 'post', 'removeCompleted' : true,//上传完成后自动删除队列 'onFallback':function(){ alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。"); }, 'onUploadStart' : function(file) { $("#file_upload").uploadify("settings", "formData", { 'attribute': attribute }); //在onUploadStart事件中,也就是上传之前,把参数写好传递到后台。 }, 'onUploadSuccess' : function(file, data, response){//单个文件上传成功触发 //data就是action中返回来的数据 },'onQueueComplete' : function(){//所有文件上传完成 alert("文件上传成功!"); } }); }); </script> 文本输入框: <input type="text" id="attribute" name="attribute"/> ``` 后台接收: ``` String attribute=request.getParameter("attribute"); ```
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
死磕YOLO系列,YOLOv1 的大脑、躯干和手脚
YOLO 是我非常喜欢的目标检测算法,堪称工业级的目标检测,能够达到实时的要求,它帮我解决了许多实际问题。 这就是 YOLO 的目标检测效果。它定位了图像中物体的位置,当然,也能预测物体的类别。 之前我有写博文介绍过它,但是每次重新读它的论文,我都有新的收获,为此我准备写一个系列的文章来详尽分析它。这是第一篇,从它的起始 YOLOv1 讲起。 YOLOv1 的论文地址:https://www.c...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片...
简明易理解的@SpringBootApplication注解源码解析(包含面试提问)
欢迎关注文章系列 ,关注我 《提升能力,涨薪可待》 《面试知识,工作可待》 《实战演练,拒绝996》 欢迎关注我博客,原创技术文章第一时间推出 也欢迎关注公 众 号【Ccww笔记】,同时推出 如果此文对你有帮助、喜欢的话,那就点个赞呗,点个关注呗! 《提升能力,涨薪可待篇》- @SpringBootApplication注解源码解析 一、@SpringBootApplication 的作用是什...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给袈...
Python语言高频重点汇总
Python语言高频重点汇总 GitHub面试宝典仓库 回到首页 目录: Python语言高频重点汇总 目录: 1. 函数-传参 2. 元类 3. @staticmethod和@classmethod两个装饰器 4. 类属性和实例属性 5. Python的自省 6. 列表、集合、字典推导式 7. Python中单下划线和双下划线 8. 格式化字符串中的%和format 9. 迭代器和生成器 10...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
ES6基础-ES6的扩展
进行对字符串扩展,正则扩展,数值扩展,函数扩展,对象扩展,数组扩展。 开发环境准备: 编辑器(VS Code, Atom,Sublime)或者IDE(Webstorm) 浏览器最新的Chrome 字符串的扩展: 模板字符串,部分新的方法,新的unicode表示和遍历方法: 部分新的字符串方法 padStart,padEnd,repeat,startsWith,endsWith,includes 字...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
web前端javascript+jquery知识点总结
Javascript javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ,语法同java类似,是一种解释性语言,边执行边解释。 JavaScript的组成: ECMAScipt 用于描述: 语法,变量和数据类型,运算符,逻辑控制语句,关键字保留字,对象。 浏览器对象模型(Br
Qt实践录:开篇
本系列文章介绍笔者的Qt实践之路。
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
为什么听过很多道理,依然过不好这一生?
记录学习笔记是一个重要的习惯,不希望学习过的东西成为过眼云烟。做总结的同时也是一次复盘思考的过程。 本文是根据阅读得到 App上《万维钢·精英日课》部分文章后所做的一点笔记和思考。学习是一个系统的过程,思维模型的建立需要相对完整的学习和思考过程。以下观点是在碎片化阅读后总结的一点心得总结。
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
一条链接即可让黑客跟踪你的位置! | Seeker工具使用
搬运自:冰崖的部落阁(icecliffsnet) 严正声明:本文仅限于技术讨论,严禁用于其他用途。 请遵守相对应法律规则,禁止用作违法途径,出事后果自负! 上次写的防社工文章里边提到的gps定位信息(如何防止自己被社工或人肉) 除了主动收集他人位置信息以外,我们还可以进行被动收集 (没有技术含量) Seeker作为一款高精度地理位置跟踪工具,同时也是社交工程学(社会工程学)爱好者...
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧...... 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
相关热词 c#导入fbx c#中屏蔽键盘某个键 c#正态概率密度 c#和数据库登陆界面设计 c# 高斯消去法 c# codedom c#读取cad文件文本 c# 控制全局鼠标移动 c# temp 目录 bytes初始化 c#
立即提问