网站首页 > 博客文章 正文
客户端Unity3D 如何上传图片到NodeJS 开发的服务器。网上搜了下,资源很少。
Unity部分代码:
参数 imageFile为要上传的图片本地路径,callback为上传后的回调
IEnumerator UploadImage(string imageFile,Action<int,string> callback) { byte[] levelData = File.ReadAllBytes(imageFile); WWWForm form = new WWWForm(); form.AddBinaryData ( "upfile", levelData, "test.png","image/png"); WWW w = new WWW(URL_SERVER,form); yield return w; if (!string.IsNullOrEmpty(w.error)) { Debug.LogError( w.error ); callback(-1,w.error); } else { Debug.Log(w.text); callback(0,w.text); } }
NodeJS部分使用的 express-fileupload 直接npm安装
npm install --save express-fileupload
创建 app.js ,复制下面的代码进去
var express = require('express'); var app = express(); var upload = require('express-fileupload'); var path = require("path"); app.use(upload()); app.post('/upload',function(req,res){ console.log(req.files); if(req.files.upfile){ var file = req.files.upfile,name = file.name,type = file.mimetype; var uploadpath = __dirname + '/uploads/' + file.md5; file.mv(uploadpath,function(err){ if(err){ console.log("File Upload Failed",name,err); res.send("Error Occured!") } else { console.log("File Uploaded",name); res.send("success"); } }); } else { res.send("No File selected !"); res.end(); }; });
然后 执行命令 node app.js, Unity执行上传后,便会在uploads目录下出现上传的图片,这里使用文件的md5做文件名。
如果需要下载文件
app.get('/download/*', function (req, res, next) { var f = req.params[0]; f = path.resolve(f); console.log('Download file: %s', f); res.download(f); });
猜你喜欢
- 2024-09-09 大厂面试难,进不去?你要找的Unity的答案都在这儿了
- 2024-09-09 灵活运用拍摄技巧,免于来自女朋友的皮肉之苦(Unity-摄像机)
- 2024-09-09 Unity2019基础教程:Unity怎样添加角色?怎样使镜头跟随角色?
- 2024-09-09 【免费教程】解锁创意图片新玩法:黏土与瓷娃娃风格滤镜
- 2024-09-09 Unity自学笔记(1)2d场景的创建及人物移动
- 2024-09-09 Unity引擎2018版发布 渲染品质可媲美电影级别
- 2024-09-09 Unity功能知识点以及功能介绍(unity 介绍)
- 2024-09-09 耐克 Pegasus Turbo Next Nature "Together"官方图片
- 2024-09-09 人工智能写的unity照片滚动播放(unity图片动画)
- 2024-09-09 UNITY这些纹理动画,你值得拥有!(unity2019地形纹理)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)