js

             navigator.camera.getPicture(function(imageURI){
var url=apiUrl+"/upload.aspx";
//alert(imageURI + "--" +url);
uploadFile(imageURI,url,function(path){ alert(path); });
}, function(message){}, { quality: 50, allowEdit: true,
destinationType: Camera.DestinationType.FILE_URI,sourceType: Camera.PictureSourceType.PHOTOLIBRARY});
//-- 去掉sourceType为拍照
// Upload files to server
var uploadFile=function(imageURI,uploadUrl,getPathCallback) {
try{ var options = new FileUploadOptions();
options.fileKey = "file";
if(imageURI.indexOf("content:")>=0){
options.fileName="random.jpg"
}else{
options.fileName = imageURI.substr(imageURI.lastIndexOf('/') + 1);
}
options.mimeType = "image/jpeg";
var ft = new FileTransfer();
ft.upload(
imageURI,
encodeURI(uploadUrl),
function(result) {
console.log('Upload success: ' + result.responseCode);
console.log(result.bytesSent + ' bytes sent');
var path= unescape(eval(result.response).result.Path);
getPathCallback(path);
navigator.camera.cleanup(null,null);
},
function(error) {
console.log('Error uploading file ' + path + ': ' + error.code);
navigator.camera.cleanup(null,null);
},
options); }catch(e){}
}

上传后更新图片地址

/* 修改我的资料 */
module.controller('ModifyMemberInfoCtl', function($scope, $http) { $scope.submit=function(){ } $scope.setImg=function(){ navigator.camera.getPicture(function(imageURI){
var url=apiUrl+"/upload.aspx";
//alert(imageURI + "--" +url);
modal.show();
uploadFile(imageURI,url,function(path){
setTimeout( function(){modal.hide();},3000);
$scope.Avatar=imgUrl + path +"?width=280&height=280";
$scope.$apply();
});
}, function(message){}, { quality: 50, allowEdit: true,
destinationType: Camera.DestinationType.FILE_URI,sourceType: Camera.PictureSourceType.PHOTOLIBRARY}); }
});

C#

<%@ Page Language="C#"Inherits="com.jtys114.Sport.AdminWebUI.Core.PageBase" %>
<%@ Import Namespace="System.Linq" %>
<%@ Import Namespace="com.jtys114.Sport.AdminWebUI.Core" %>
<%@ Import Namespace="com.jtys114.Sport.Util" %>
<%@ Import Namespace="com.jtys114.Sport.EFModel" %>
<%@ Import Namespace="System.Text.RegularExpressions" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="F.Studio.Web.Utility" %>
<%@ Import Namespace="System.IO" %>
<script runat="server"> static readonly string C_FileRoot = "/Files/";
private bool UseEscape = false;//是否对字符进行escape编码
private String CallBack = ""; // protected override void CheckPageAccessAuth()
{ return;
}
private void WriteJson(object v)
{
var o = new { result = v };
Response.Write(string.Format("{0}({1})", CallBack, JSONhelper.ToJson(o, UseEscape)));
}
protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "text/json";
Response.Expires = -1;
try
{
UseEscape = TryParser<bool>(Request["es"], false);
CallBack = Request["callback"]; if (Request.Files.Count <= 0) throw new Exception("没有文件上传!"); var response= SaveFile(); WriteJson(response); }
catch (Exception ex)
{
WriteJson(new { Msg = ex.Message, Code = -1 });
}
Response.End(); } private UploadResponse SaveFile()
{ var file = Request.Files[0];
var ext = Path.GetExtension(file.FileName); //确保目录存在
string path = C_FileRoot + DateTime.Now.ToString("yyyy-MM-dd") + "/"; if (!Directory.Exists(System.Web.Hosting.HostingEnvironment.MapPath(path)))
{
Directory.CreateDirectory(System.Web.Hosting.HostingEnvironment.MapPath(path));
}
//合成文件名
var filename = path + Guid.NewGuid().ToString("N").Substring(0, 8) + ext; var resp = new UploadResponse();
resp.MIME = file.ContentType;
resp.Size = file.ContentLength / 1024; resp.Name = StringHelper.Escape(Path.GetFileNameWithoutExtension(file.FileName));
resp.Path = StringHelper.Escape(filename);
resp.Code = 200;
resp.Msg = "Success"; using (var ctx = DBCtx.GetCtx())
{
var ent = new Sys_Files();
ent.AddTime = DateTime.Now;
ent.CatalogId = Util.GetQ<int>(Request, "dirNo", -1);
ent.FileSize = resp.Size;
ent.IsDeleted = false;
ent.Name = resp.Name;
ent.Path = resp.Path; ctx.Sys_Files.AddObject(ent);
ctx.SaveChanges(); resp.FileId = ent.DocId;
} //保持文件
file.SaveAs(System.Web.Hosting.HostingEnvironment.MapPath(filename)); return resp;
}

cordova 选择图片并上传到服务器的更多相关文章

  1. HTML5裁剪图片并上传至服务器实现原理讲解

    HTML5裁剪图片并上传至服务器实现原理讲解   经常做项目需要本地上传图片裁剪并上传服务器,比如会议头像等功能,但以前实现这类需求都很复杂,往往需要先把图片上传到服务器,然后返回给用户,让用户确定裁 ...

  2. HTML5 Canvas前台压缩图片并上传到服务器

    1.前台代码: <input id="fileOne" type="file" /> <input id="btnOne" ...

  3. 微信js-sdk,选择图片,上传,下载到本地,php服务端

    //前端js代码<script> //客户端6.0.2 wx.config({ //debug:true, appId: "{pigcms:$signPackage.appId} ...

  4. HTML5 本地裁剪图片并上传至服务器(转)

    很多情况下用户上传的图片都需要经过裁剪,比如头像啊什么的.但以前实现这类需求都很复杂,往往需要先把图片上传到服务器,然后返回给用户,让用户确定裁剪坐标,发送给服务器,服务器裁剪完再返回给用户,来回需要 ...

  5. js实现图片粘贴上传到服务器并展示

    最近看了一些有关于js实现图片粘贴上传的demo,实现如下: (这里只能检测到截图粘贴和图片右键复制之后粘贴) demo1: document.addEventListener('paste', fu ...

  6. SpringMvc + Jsp+ 富文本 kindeditor 进行 图片ftp上传nginx服务器 实现

    一:html 原生态的附件上传 二:实现逻辑分析: 1.1.1 需求分析 Common.js 1.绑定事件 2.初始化参数 3.上传图片的url: /pic/upload 4.上图片参数名称: upl ...

  7. 转:【微信小程序】 微信小程序-拍照或选择图片并上传文件

    调用拍照API:https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-picture.html?t=20161222#wxchooseimageobj ...

  8. 小程序踩坑记录-上传图片及canvas裁剪图片后上传至服务器

    最近在写微信小程序的上传图片功能,趟过了一些坑记录一下. 想要满足的需求是,从手机端上传图片至服务器,为了避免图片过大影响传输效率,需要把图片裁剪至适当大小后再传输 主要思路是,通过wx.choose ...

  9. 微信小程序压缩图片并上传到服务器(拿去即用)

    这里注意一下,图片压缩后的宽度是画布宽度的一半 canvasToTempFilePath 创建画布的时候会有一定的时间延迟容易失败,这里加setTimeout来缓冲一下 这是单张图片压缩,多张的压缩暂 ...

随机推荐

  1. 队列queue实例(生产者和消费者模型)

    import queue, threading, time q = queue.Queue(maxsize=10)def producter(n): count = 1 while True: q.p ...

  2. AS3 localToGlobal、globalToLocal方法的总结

    (1).localToGlobal (point)   把point看成在(1)内部,计算出该point相当于stage的坐标 (2).globalToLocal (point)   point为全局 ...

  3. visual studio 2017 报错 无法下载安装文件。请检查Internet连接,然后重试

    vs下载完离线安装包在无网络环境下点击安装时出现无法下载安装文件.请检查Internet连接,然后重试 原因是证书没有导 解决方法 打开刚刚存放离线文件的路径,比如D:\vs2017offline,然 ...

  4. [转]Gulp思维 —— Gulp高级技巧

    感受过gulp.js带来的兴奋过后,你需要的不仅仅是它的光鲜,而是切切实实的实例.这篇文章讨论了一些使用gulp.js时常踩的坑,以及一些更加高级和定制化的插件和流的使用技巧. 基本任务 gulp的基 ...

  5. JDK5并发(1) Locks-AQS

    AbstractQueuedSynchronizer @(Base)[JDK, locks, ReentrantLock, AbstractQueuedSynchronizer, AQS] 转载请写明 ...

  6. XML与HTML

    一.什么是HTML 带着疑问走到这里,一句话:HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言. 如果想了解更多请看以下博客: http://blog. ...

  7. testng + Ignore 忽略测试方法

    使用testng的时候,有时候会忽略掉某些测试方法,暂时不跑,简单整理一下一些方法.转载还请说明下 1.使用@Test(enable=false)方法 @Feature("查询") ...

  8. Android中WebView使用全解

    开始 在Android系统中内嵌的WebKit,这是一个浏览器内核,它帮助着我们可以浏览网页.在实际开发中,如果你想让你的App能够访问网页,那就需要用到WebView这个控件. 如何使用? 其实使用 ...

  9. 使用UltraISO制作光盘镜像

    为什么使用光盘镜像文件: 1. 有些光盘中的内容必须在光盘运行环境中运行: 有些光盘的内容要在光盘运行的时候才能运行,即使你安装到电脑上都不行!例如某些游戏光盘等,这样就得每次使用时都要用光盘,对光驱 ...

  10. MATLAB安装libsvm无法使用解决办法(转)

    buaasuozi  这是原作者: 安装libsvm 不成功有可能是你的MATLAB版本或者是编译文件版本的问题,但是不要急着换其他版本....说不定就有别的解决办法呢 首先感谢Lin教授及其实验室提 ...