我认为这应该是一个直截了当的事情,但我无法解决问题:s
我正在试图找出在网站上显示存储在亚马逊S3上的图像的最佳方式.
目前我正试图让这个工作(不成功)
//app.js
app.get('/test', function (req, res) {
var file = fs.createWriteStream('slash-s3.jpg');
client.getFile('guitarists/cAtiPkr.jpg', function(err, res) {
res.on('data', function(data) { file.write(data); });
res.on('end', function(chunk) { file.end(); });
});
});
//index.html
<img src="/test" />
Run Code Online (Sandbox Code Playgroud)
是不是可以直接从亚马逊展示图像?我的意思是,减轻我服务器负载的解决方案将是最好的.
我在内存中有一个Bitmap,我需要将它保存在bmp文件中(使用bmp文件格式).
有没有办法在Android上做到这一点?
(我读了很多帖子建议使用png格式 - 这是无损 - 但是,这不是我需要的:我真的需要bmp格式).
我已经有一些代码使用Bitmap.compress方法将其保存在jpeg或png中:
/**
* Save data to file using format.
* When format is null : the bitmap will be saved in bmp format
**/
public void writeBitmapToFile(Bitmap data, File file, Bitmap.CompressFormat format) {
FileOutputStream os = null;
try {
os = new FileOutputStream(file);
if(format==null){
//TODO : write data to file using the bmp format
}else{
data.compress(format, 100, os); //ok for JPEG and PNG
}
os.flush();
} catch …Run Code Online (Sandbox Code Playgroud) 好的我有一个Button,它使用一个选择器作为它的背景.我将宽度和高度设置为wrap_content.内容是我设置的一些文字.我希望按钮在文本周围像原生按钮一样大小,但按钮很大,基本上看起来和它的源图像一样大.按钮图像是九个补丁图像,按钮xml在相对布局内.我在这里错过了什么?
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/holo_btn" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/holo_btn" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/holo_btn" />
<item android:drawable="@drawable/holo_btn" />
</selector>
<Button android:id="@+id/btnTaskPriorityLow"
android:paddingLeft="@dimen/paddingSmallButton" android:paddingRight="@dimen/paddingSmallButton"
android:text="@string/strTaskPriorityLow"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/textViewCalColor"
android:layout_toRightOf="@+id/textViewPriority"
android:layout_marginTop="@dimen/marginTopAppt"
android:background="@drawable/button_holo_sel"/>
Run Code Online (Sandbox Code Playgroud) 在我的项目中,使用了 maven-antrun-plugin,并且在许多地方都有一个名为
项目.build.目录
被引用,但我无法理解该属性设置的值。我尝试用谷歌搜索,发现有几个地方提到了这一点,但找不到关于该属性设置为多少值的正式注释。
另外,由于我使用的是 maven-antrun-plugin,如果你告诉我这个属性是由 Maven 或 Ant 设置的,那就太好了。
我尝试在我的Android应用程序(运行4.1.2的三星手机:客户端)和我的笔记本电脑(Win7,64位:服务器)之间建立蓝牙连接.服务发现失败时始终失败.
我阅读了关于这个(这里和那里)的各种主题,但它没有解决我的问题.
我有两个问题:
备注:
我有这些权限
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
Run Code Online (Sandbox Code Playgroud)
编辑
我没有在客户端编码UUID,而是尝试了以下方法(但仍然得到相同的错误):
UUID uuid = bluetoothDevice.getUuids()[bluetoothDevice.getUuids().length-1].getUuid();
Run Code Online (Sandbox Code Playgroud)
echo-server的UUID始终是数组中的最后一个.
结束编辑
以下是客户端上的相关日志:
08-22 12:30:28.627: ERROR/BluetoothService.cpp(12008): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)
08-22 12:30:28.647: INFO/BluetoothSocket.cpp(18030): Setting Master socket option
08-22 12:30:28.647: VERBOSE/BluetoothSocket.cpp(18030): ...fd 43 created (RFCOMM, lm = 7)
08-22 12:30:28.687: DEBUG/BluetoothPolicyService(12008): getAllowBluetoothDataTransfer - showMsg: true
08-22 12:30:28.687: DEBUG/BluetoothPolicyService(12008): MDM: isProfileEnabled = true
08-22 …Run Code Online (Sandbox Code Playgroud) 我正在构建一个应用程序原型并尝试模拟REST Web服务.
这是我的代码:
var mock = angular.module('mock', ['ngMockE2E']);
mock.run(function($httpBackend){
users = [{id:1,name:'John'},{id:2,name:'Jack'}];
$httpBackend.whenGET('/users').respond(users);
$httpBackend.whenGET(new RegExp('\\/users\\/[0-9]+')).respond(users[0]);
}
Run Code Online (Sandbox Code Playgroud)
一切正常,我的资源User.query()返回所有用户,User.get({id:1})和User.get({id:2})返回相同的用户(John).
现在为了改进我的原型,我想返回适当的用户,匹配好的id.
我在角度文档中读到了我应该能够用函数替换RegExp URI.我们的想法是从url中提取id以在response方法中使用它.然后我尝试了这个:
$httpBackend.whenGET(new function(url){
alert(url);
var regexp = new RegExp('\\/users\\/([0-9]+)');
id = url.match(regexp)[1];
return regexp.test(url);
}).respond(users[id]);
Run Code Online (Sandbox Code Playgroud)
问题是url参数始终未定义.有什么想法实现我的目标?
在阅读完@Peter Lawrey的答案后,尤其是这句话:
close()可以确保将文件实际写入磁盘(或不取决于操作系统)
(重点是我的。)
我有3个问题:
确实没有保证在调用后所有字节在磁盘上都可用close()吗?(我想这是真的,因为它来自@Peter Lawrey)
通常(即在所有操作系统上均有效),确保所有字节有效写入磁盘的最佳方法是什么?(我可以想象计数写入到流中的字节,并等待直到 file.length() == byteCount ...但是有更好的方法吗?)
尤其是在Android上,调用fileOutputStream.close()以确保将所有字节有效地写入文件系统是否足够?
这是一些代码(忽略异常,为了简单起见)来说明我的帖子
final InputStream instream = getInputStreamFromSomewhere();
final FileOutputStream outputstream = new FileOutputStream(someExistingFile);
int l;
final byte[] tmp = new byte[1024];
while ((l = instream.read(tmp)) != -1) {
outstream.write(tmp, 0, l);
}
instream.close();
//outputStream.flush(); //useless call since outputStream.flush() do nothing on FileOutputStream
outputStream.close();
//at this point : are all bytes written to disk ?
Run Code Online (Sandbox Code Playgroud) 我正在关注这个例子:
package com.mtsahakis.mediaprojectiondemo;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.PixelFormat;
import android.graphics.Point;
import android.hardware.display.DisplayManager;
import android.hardware.display.VirtualDisplay;
import android.media.Image;
import android.media.ImageReader;
import android.media.projection.MediaProjection;
import android.media.projection.MediaProjectionManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.OrientationEventListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
public class ScreenCaptureImageActivity extends Activity {
private static final String TAG = ScreenCaptureImageActivity.class.getName();
private static final int REQUEST_CODE = 100;
private static String …Run Code Online (Sandbox Code Playgroud) 当请求进入页面时,例如app.get("/")我想从amazon s3返回静态HTML页面.我知道我可以从S3请求它然后发送它,但这似乎很慢.反正有没有告诉请求者直接从s3获取文件而不更改URL?
谢谢.
如果做不到这一点,从s3提供文件的最快方式是什么?
本教程首先介绍如何编写文件
http://www.hacksparrow.com/node-js-amazon-s3-how-to-get-started.html
// We need the fs module so that we can write the stream to a file
var fs = require('fs');
// Set the file name for WriteStream
var file = fs.createWriteStream('slash-s3.jpg');
knox.getFile('slash.jpg', function(err, res) {
res.on('data', function(data) { file.write(data); });
res.on('end', function(chunk) { file.end(); });
});
Run Code Online (Sandbox Code Playgroud)
有没有办法发送文件而不先写它?写它看起来非常慢.
我可以通过两个属性 A 和 B 传递给 Maven
mvn test -DA=true
Run Code Online (Sandbox Code Playgroud)
或者
mvn test -DB=true
Run Code Online (Sandbox Code Playgroud)
如果定义了 A 或 B,我希望跳过一个目标。我发现当只考虑 A 时是可能的:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>skiptThisConditionally</id>
<phase>test</phase>
<configuration>
<target name="anytarget" unless="${A}">
<echo message="This should be skipped if A or B holds" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
现在也必须考虑B。这能做到吗?
马蒂亚斯