标签: http-put

在PHP中通过HTTP PUT发送文件

我一直在努力争取如何完成这项工作几个小时.我正在尝试通过HTTP-PUT将文件发送到eXist数据库.有服务器的用户身份验证,所以我试图做这样的事情:

我有要将文档输入的URL我有eXist DB的用户名和密码我有需要通过PUT发送的内容

我尝试使用cURL,但它会无声地失败我尝试使用PHP流,但不断收到"错误201 /创建"但实际上没有创建文件.

任何有关这方面的帮助都将非常感激.

这是我尝试使用PHP流的一些示例代码

        $data = file_get_contents($tmpFile);                                                                                                    
         $header = array(
             "Authorization: Basic " . base64_encode($this->ci->config->item('ws_login') . ':' . $this->ci->config->item('ws_passwd')),
             "Content-Type: text/xml"
         );  
         $params = array(
             'http' => array(
                 'method' => 'PUT',
                 'header' => $header,
                 'content' => $data));
         $ctx = stream_context_create($params);

         $response = file_get_contents($url, false, $ctx);

php curl stream http-put

8
推荐指数
1
解决办法
2万
查看次数

HTTP PUT以Java格式上传文件

编辑:我想我已经弄清楚如何做二进制数据部分.在代码中仔细检查它,但我很确定我做对了.现在,我在尝试按照Vimeo API文档中的描述完成上传时遇到了新错误

编辑2:将 .debug()添加到OAuthService并更新输出.

原始问题:我正在尝试使用Vimeo API(流媒体方法)将视频上传到Vimeo .我正在使用scribe来授权我的应用,获取我的访问令牌并准备上传视频.在这个PUT的HTTP请求示例中,我只是不知道该做什么,Vimeo API文档说"你这里的文件的二进制数据":

PUT http://1.2.3.4:8080/upload?ticket_id=abcdef124567890 HTTP/1.1

主持人:1.2.3.4:8080

内容长度:339108

内容类型:video/mp4

....你的文件的二进制数据在这....

我可以得到罚单和标题.它只是,我该怎么做才能插入我的文件的二进制数据?

笔记:

  • 它是Java中的桌面应用程序
  • 这是我正在测试的一个小视频文件

这是我的put代码(记住,我正在使用scribe)

// Setup File (line 52)
File testUp = new File("C:/Users/Kent/Desktop/test.mp4");
String contentLength = Long.toString(testUp.length());
System.out.println("The content length is: " + contentLength);
byte[] fileBytes = ByteStreams.toByteArray(new FileInputStream(testUp));

// Upload file (line 58)
request = new OAuthRequest(Verb.PUT, endpoint);
request.addHeader("Content-Length", contentLength);
request.addHeader("Content-Type", "video/mp4");
request.addPayload(fileBytes);
response = signSendAndPrint(service, accessToken, request, "Upload PUT: " + …
Run Code Online (Sandbox Code Playgroud)

java file-upload vimeo http-put scribe

8
推荐指数
1
解决办法
6072
查看次数

Java:带有HttpURLConnection的HTTP PUT

你是怎么做HTTP PUT的?我正在使用的类似乎认为它正在执行PUT但是端点正在将其视为我做了GET.我做错了吗?

URL url = new URL("https://...");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("PUT");

OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());

writer.write(xmlString);
writer.close();

System.out.println(conn.getRequestMethod());
String response = readInputStream(conn.getInputStream());
System.out.println(response);
Run Code Online (Sandbox Code Playgroud)

哪个是打印:

PUT
<same content as doing a GET>
Run Code Online (Sandbox Code Playgroud)

如果这个可以工作,我宁愿不包括另一个库...

java http-put httpurlconnection

7
推荐指数
1
解决办法
6946
查看次数

Asp.net WEB API - 如果我使用POST而不是PUT和DELETE会出现什么问题?

我刚刚开始使用Web API,虽然我发现创建方法和我需要的一些配置非常容易,但现在我遇到了一个我不知道如何解决的问题.

一些将使用我的服务的应用程序非常旧,不支持DELETE和PUT方法(例如j2me应用程序)

我发现通过传递这样的东西可以做某种方法模拟:

_method=DELETE|PUT 
Run Code Online (Sandbox Code Playgroud)

但是,我不确定Web API是否能够解释这一点,此外,我不知道如何做到这一点.出于这些原因,我正在考虑使用POST方法来处理更新和删除.话虽如此,如果不使用所有标准方法,我可以期待什么并发症?

一如既往,任何帮助都将受到极大的赞赏

提前致谢.

PD如果有人知道如何_method通过路由到DELETE()或PUT()来发布POST会很棒

c# http-put java-me http-delete asp.net-web-api

7
推荐指数
2
解决办法
1791
查看次数

PHP上传文件使用PUT而不是POST

我在PHP文档中读到了一些关于此的内容,但我不清楚:

  1. 最广泛使用的浏览器(IE,FF,Chrome,Safari,Opera,...)是否支持此PUT方法上传文件?

  2. 我应该写什么HTML来让浏览器通过PUT请求调用服务器?我的意思是,我需要写一个FORMINPUT文件属性,只是替换属性method="POST"method="PUT"

  3. 在PHP文档(上面的链接)上,他们说PUT请求比POST上传文件时的请求要简单得多,还有这个优势,还有什么其他的优点/不同PUT之处POST

php file-upload http-put

6
推荐指数
2
解决办法
3882
查看次数

ASIHTTP:上传UIImage?

有人可以告诉我如何在Objective-c中使用ASIHTTPRequest对象来上传UIImage对象吗?我需要将其转换为NSData对象吗?

(这是一个头像上传网址)

E.g. 

UIImage *toUpload = [UIImage imageNamed:@"test.jpg"]

URL: "http://www.example.com/api/users/avatar/upload?access_token=12345"
RequestType: PUT
Run Code Online (Sandbox Code Playgroud)

iphone objective-c http-put uiimage asihttprequest

6
推荐指数
1
解决办法
3186
查看次数

PUT请求上传不在Flask中工作的文件

我正在使用Flask开发Web应用程序.其中一个视图应该通过PUT请求接受上传的文件,但是我只能获得POST请求$ curl -F upload=@filename URL才能正常工作.随着PUT请求,如$ curl --upload-file filenname URLrequest.filesImmutableMultiDict是空的.我是否在烧瓶中丢失了一些东西或者使用卷曲?

python http http-put http-method flask

6
推荐指数
1
解决办法
3902
查看次数

GitHub API创建文件

因此,我试图使自己熟悉GitHub API。我正在使用cURL命令来实现其一些基本功能。我可以正确获取基本授权和存储库创建。当前,我正在尝试使用其API在存储库中创建文件,并且面临“ message”:“ Not Found”错误作为响应。

他们的文档表明:

PUT /repos/:owner/:repo/contents/:path
Run Code Online (Sandbox Code Playgroud)

我想出了这个作为cURL等效项:

curl -H 'Authorization: <token>' -d '{"path": "test.txt", "message": "Initial Commit", "committer": {"name": "<name>", "email": "<email>"}, "content": "bXkgbmV3IGZpbGUgY29udGVudHM=", "note":"Test Commit"}' https://api.github.com/repos/InViN-test/test_repo1/contents/test.txt
Run Code Online (Sandbox Code Playgroud)

我认为问题出在我最后使用的API URL,但我似乎无法弄清楚URL的外观。

这是我用来创建存储库的内容:

curl -i -H 'Authorization: <token>' -d '{"name": "test_repo1", "message": "Initial Commit", "committer": {"name": "<name>", "email": "<email>"}, "content": "bXkgbmV3IGZpbGUgY29udGVudHM=", "note":"Test Commit"}' https://api.github.com/user/repos
Run Code Online (Sandbox Code Playgroud)

我使用的存储库创建URL如下:user / repos作为语法。同样,我尝试使用user / repos / repo,但是没有用。

谁能对此有所启示?

我经历了各种StackOverflow问题,其中许多似乎相似,但没有一个真正提供示例,因此我可以找出错误的出处。

编辑:感谢蒂姆沃尔拉的答案。

使用GitHub API在存储库中创建文件的有效命令语法:

curl -i -X PUT -H 'Authorization: token <token_string>' -d '{"path": "<filename.extension>", "message": "<Commit …

git curl github http-put github-api

5
推荐指数
1
解决办法
4812
查看次数

如何使用 Mojo::Useragent 放置文件?

我正在尝试使用 PUT 方法使用 Mojo::UserAgent 上传文件,文件可能很大,而不是将文件内容作为标量传递,还有其他方法吗?

这是我尝试过的:

use strict;
use warnings;
use Mojo::UserAgent;
use Mojo::Asset::File;


my $ua = Mojo::UserAgent->new;

my $file = $ARGV[0];

die("File not found") unless(-f $file);

my $a_file = Mojo::Asset::File->new(path => $file);

my $tx = $ua->put('https://postman-echo.com/put' => {'X-Test' => '123G'} => $a_file);

print $tx->success;

print "\n\n";

print $tx->result->body;

print "\n\n";

print $tx->req->text;
Run Code Online (Sandbox Code Playgroud)

perl http-put mojolicious mojo-useragent

5
推荐指数
1
解决办法
282
查看次数

DbContext 更新与 EntityState 修改

_context.Entry(entity).State = EntityState.ModifiedASP.NET EF Core和之间有什么区别_context.Entity.Update(entity)?例如:

[HttpPut]
public async Task<ActionResult<Student>> PutStudent(Student student)
{
     **_context.Entry(student).State = EntityState.Modified;**
     await _context.SaveChangesAsync();
     return student;
}
Run Code Online (Sandbox Code Playgroud)
    
[HttpPut]
public async Task<ActionResult<Student>> PutStudent(Student student)
{
     **_context.Student.Update(student);**
     await _context.SaveChangesAsync();
     return student;
}
Run Code Online (Sandbox Code Playgroud)

c# http-put dbcontext entity-framework-core asp.net-core

5
推荐指数
1
解决办法
4536
查看次数