我试图在我的PHP程序中使用AWS sts调用AssumeRole函数,因为我想创建临时凭证以允许用户为AWS桶创建对象.
以下是我称之为PHP的功能:
$sts = StsClient::factory(array(
'key' => 'XXXXXXXXXXXXXX',
'secret' => 'XXXXXXXXXXXXXXXX',
'token.ttd' => $timetodie
));
$bucket = "mybucket";
$result1 = $sts->assumeRole(array(
'RoleArn' => 'arn:aws:iam::123456789012:role/createPic',
'RoleSessionName' => 'mytest',
'Policy' => json_encode(array(
'Statement' => array(
array(
'Sid' => 'Deny attributes',
'Action' => array(
's3:deleteObject',
's3:deleteBucket'
),
'Effect' => 'Deny',
'Resource' => array(
"arn:aws:s3:::{$bucket}",
"arn:aws:s3:::{$bucket}/AWSLogs/*"
),
'Principal' => array(
'AWS' => "*"
)
)
)
)
),
'DurationSeconds' => 3600,
// 'ExternalId' => 'string',
));
$credentials = $result1->get('Credentials');
Run Code Online (Sandbox Code Playgroud)
但是,我不断收到以下错误:
用户arn:aws:iam :: 123456789012:用户/ …
我有一个从服务器获取数据的异步任务填充的列表视图。但是,当列表视图第一次出现时,滚动条会出现然后立即消失。我的主要活动扩展了 MapActivity,因为我在列表视图上方显示地图。有谁知道为什么滚动条消失以及如何纠正它?下面是我的主要布局。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
>
<TextView
android:text="Address is: "
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/address_view" />
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapvw"
android:layout_width="match_parent"
android:layout_height="250dp"
android:enabled="true"
android:clickable="true"
android:apiKey="xxxxxxxxxxxxxxxxxx"
/>
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="200dp"
android:scrollbars="vertical"
android:drawSelectorOnTop="false" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是我的列表视图自定义布局。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/viewtext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:minHeight="?android:attr/listPreferredItemHeight"
android:paddingLeft="6sp"
android:textColor="#000000"
android:textSize="15sp"
android:paddingRight="10sp"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
下面是创建列表视图的逻辑:
@Override
protected void onPostExecute(ArrayList<String> result) {
......... some code
List<String> viewline = new ArrayList<String>();
..... some code
mapView.postInvalidate();
final ArrayAdapter<String> arrayAdpt = new …Run Code Online (Sandbox Code Playgroud) 我试图转换从输入type = file元素捕获的图像文件而没有成功。以下是我的JavaScript代码
var img = document.getElementById('myimage');
var file = document.querySelector('input[type=file]').files[0];
var reader = new FileReader();
reader.addEventListener("load", function () {
var theBlob = reader.result;
theBlob.lastModifiedDate = new Date();
theBlob.name = file;
img.src = theBlob;
var newfile = new File([theBlob], "c:files/myfile.jpg");
}, false);
if (file) {
reader.readAsDataURL(file);
}
Run Code Online (Sandbox Code Playgroud)
该图像会正确显示在img元素中,但File命令不会创建myfile.jpg图像文件。我试图捕获图像,然后使用javascript调整大小,然后再将其上传到服务器。有人知道为什么不创建图像文件吗?更好的是,没有人有代码说明如何在客户端上调整图像文件的大小,然后将其上传到服务器吗?
尝试访问C#程序后面的代码中的文件时,我的Web程序出错,目录名和文件名之间有反斜杠.该文件的地址进入我的网页,查询值为'deaths\bakerd.htm'.但是,浏览器会将其转换为"deaths%08akerd.htm".
网页中的网址为
'http://localhost:57602/obitm.aspx?url=deaths%08akerd.htm'
Run Code Online (Sandbox Code Playgroud)
并说网页找不到,但网页obitm.aspx确实存在,所以为什么它会说不?
如果我手动将Windows资源管理器中的查询值更改为'deaths/bakerd.htm',它在浏览器中作为查询值进行时不进行任何转换,并且我能够在我的C#程序中访问该文件.
我尝试使用javascript更改查询值
thisurl = url.replace("\\", "/")
Run Code Online (Sandbox Code Playgroud)
但这并没有改变任何事情.
我没有在我的C#程序中尝试任何转换.那么我如何以编程方式将'\'更改为'/'?我不知道为什么会这样,而且非常令人困惑.任何帮助表示赞赏.
我正在尝试使用nodejs从mysql表中获取数据。我调用另一个节点 js 文件中的 sql 例程。但是,我无法让回调返回数据。我认为问题可能是我从节点 js 文件调用异步例程,而不是从角度或常规 javascript 程序调用异步例程。下面是我正在调用的导出脚本。
exports.getVenueById = function(db, id) {
var http = require('http');
var mysql = require('mysql');
var query = "SELECT * FROM venues WHERE auto_increment = ? "
query = mysql.format(query, id);
console.log("query=" + query);
db.query(
query,
function(err, rows) {
if(err) console.log("error=" + err);
console.log("rows=" + rows[0]['auto_increment']);
res.json({success: true, response: rows});
//return rows[0];
});
}
Run Code Online (Sandbox Code Playgroud)
我知道这是有效的,因为我正在将结果写入控制台。问题是数据永远不会返回到下面的调用节点 js 例程。
function getVenueData (id , callback) {
(function () {
venueData = venueTable.getVenueById(db, id);
if(venueData) {
callback(); …Run Code Online (Sandbox Code Playgroud) javascript ×3
android ×1
asynchronous ×1
blob ×1
browser ×1
c# ×1
callback ×1
file-upload ×1
listview ×1
mysql ×1
node.js ×1
php ×1
scrollbars ×1
url ×1