【发布时间】:2013-04-17 03:37:20
【问题描述】:
我正在将图像从我的 android 上传到我的网络服务器。我的 Web 服务器是用 ASP.NET MVC 编写的。
我可以在 android 上使用 HttpPost 上传我的图片,然后使用以下 php 代码:
$base=$_REQUEST['image'];
$binary=base64_decode($base);
header('Content-Type: bitmap; charset=utf-8');
$file = fopen('App_Data/Image.jpg', 'wb');
fwrite($file, $binary);
fclose($file);
我的问题是,是否可以将其转换为我的 ASP.NET MVC?我觉得使用 php 非常有限,因为我不确定如何在 ASP.NET 中做很多事情。
我了解 ASP.NET 中的 Request 方法,但我不确定如何执行 base64_decode 部分。
PS。有关所用方法的更多信息,请参阅this link
编辑: android 部分的代码
这部分转换位图,base64编码
Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getAbsolutePath()+"/saved_images/2013-04-10--11-51-33-AEST--Fingerprint.jpg");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream); //compress to which format you want.
byte [] byte_arr = stream.toByteArray();
String image_str = Base64.encodeBytes(byte_arr);
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("image",image_str));
这部分做post
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://myipaddress/Up/Upload");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
【问题讨论】:
-
您是在问如何上传文件或显示文件?
-
我可以上传文件,但我必须在我的 ASPNET MVC 根文件夹中放置一个 php 文件,我想知道是否可以将此 php 代码移植到 ASP.NET 中
-
此文件将图像写入文件..这是您想要的吗?如果您已上传文件,为什么还要再次保存。
-
android 应用程序 获取一张图片并对其进行 base64 编码,然后执行 HttpPost。上面显示的 php 代码是对图像的请求并将其保存到服务器,这是我想要的,但我希望能够在 C# 在我的 asp.net 应用程序上。我尝试从 android 上传到 ASP.NET 的所有指南都不起作用,我发现唯一有效的是使用 php.
-
看我的回答不管你是从你的网络浏览器还是安卓设备访问它都没有区别。
标签: android asp.net-mvc