我正在通过Zend_Rest_Route使用Zend Framework构建RESTful api.对于文件上传,我应该使用PUT还是POST来处理这个过程?我试图尽可能地与REST动词的定义保持一致.请参考:PUT或POST:故事的REST
我理解这一点的方式是,当且仅当我更新指定资源的完整内容时,我才应该使用PUT.我必须知道PUT的确切URL.另一方面,如果我使用某种服务器端算法向服务器发送命令以创建指定资源的下级,我应该使用POST.
我们假设这是一个用于图像上传的REST API.这是否意味着我应该使用POST,如果服务器要操纵图像文件(即创建缩略图,调整大小等); 如果我只是将图像原始文件保存到服务器,请使用PUT?
如果我使用PUT来处理文件上传,那么流程应该如下:
我对这些东西很陌生; 所以希望我在这里有意义......
如果您知道"最佳"方式,请随时发表评论.
对不起基本问题 - 我是.NET开发人员,对LAMP设置没有太多经验.
我有一个PHP站点,允许上传到特定的文件夹.我被告知该文件夹需要由webserver用户拥有才能使上传过程正常工作,因此我创建了该文件夹,然后设置权限:
chown apache:apache -R uploads/
chmod 755 -R uploads/
Run Code Online (Sandbox Code Playgroud)
现在唯一的问题是FTP用户根本无法修改上传的文件.
是否有权限设置允许我仍然上传文件,然后以网络服务器用户以外的用户修改它们?
嗨我想知道在使用angularjs上传它们之前是否有预览图像的方法?我正在使用这个库.https://github.com/danialfarid/angular-file-upload
谢谢.这是我的代码:
template.html
<div ng-controller="picUploadCtr">
<form>
<input type="text" ng-model="myModelObj">
<input type="file" ng-file-select="onFileSelect($files)" >
<input type="file" ng-file-select="onFileSelect($files)" multiple>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
controller.js
.controller('picUploadCtr', function($scope, $http,$location, userSettingsService) {
$scope.onFileSelect = function($files) {
//$files: an array of files selected, each file has name, size, and type.
for (var i = 0; i < $files.length; i++) {
var $file = $files[i];
$http.uploadFile({
url: 'server/upload/url', //upload.php script, node.js route, or servlet uplaod url)
data: {myObj: $scope.myModelObj},
file: $file
}).then(function(data, status, headers, config) {
// file …
Run Code Online (Sandbox Code Playgroud) 如何使用selenium测试工具在Web应用程序上上传图片?我正在使用python.
我尝试了很多东西,但没有任何效果.
在PHP上,他们有一种方法可以在上传后限制文件大小,但不能在上传之前.我使用Malsup jQuery Form Plugin进行表单发布,它支持图像文件发布.
我想知道是否有一个限制,我可以设置多少字节可以通过AJAX流直到服务器?这可以允许我检查文件大小并在文件太大时返回错误.
通过在客户端执行此操作,它阻止那些从他们的Pentax拍摄10MB照片并尝试上传的新手.
问题:使用Python的urllib2发布数据时,所有数据都经过URL编码并作为Content-Type发送:application/x-www-form-urlencoded.上传文件时,应将Content-Type设置为multipart/form-data,并将内容编码为MIME.这个问题的讨论在这里:http: //code.activestate.com/recipes/146306/
为了解决这个限制,一些敏锐的程序员创建了一个名为MultipartPostHandler的库,它创建了一个OpenerDirector,您可以使用urllib2来主要使用multipart/form-data自动POST.此库的副本位于:http: //peerit.blogspot.com/2007/07/multipartposthandler-doesnt-work-for.html
我是Python的新手,无法让这个库工作.我基本上写了下面的代码.当我在本地HTTP代理中捕获它时,我可以看到数据仍然是URL编码的,而不是多部分MIME编码.请帮我弄清楚我做错了什么或更好的方法来完成这件事.谢谢 :-)
FROM_ADDR = 'my@email.com'
try:
data = open(file, 'rb').read()
except:
print "Error: could not open file %s for reading" % file
print "Check permissions on the file or folder it resides in"
sys.exit(1)
# Build the POST request
url = "http://somedomain.com/?action=analyze"
post_data = {}
post_data['analysisType'] = 'file'
post_data['executable'] = data
post_data['notification'] = 'email'
post_data['email'] = FROM_ADDR
# MIME encode the POST payload
opener = urllib2.build_opener(MultipartPostHandler.MultipartPostHandler)
urllib2.install_opener(opener)
request = urllib2.Request(url, post_data)
request.set_proxy('127.0.0.1:8080', …
Run Code Online (Sandbox Code Playgroud) 我试过put -r directory/*
,只上传文件而不上传文件夹.给我错误,不能Couldn't canonicalise
.
任何帮助将不胜感激.
我想自动将我的python脚本中的文件上传到我的Dropbox帐户.我无论如何只能通过用户/传递来找到这个.我在Dropbox SDK中看到的所有内容都与具有用户互动的应用相关.我只是想做这样的事情:
https://api-content.dropbox.com/1/files_put/ /?user = me&pass = blah
如何以编程方式将文件上载到sharepoint中的文档库?
我目前正在使用C#创建一个Windows应用程序,它将文档添加到文档库列表中.
在页面上,我有:
if (!empty($_FILES['logo']['name'])) {
$dossier = 'upload/';
$fichier = basename($_FILES['logo']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['logo']['tmp_name']);
$extensions = array('.png', '.jpg', '.jpeg');
$extension = strrchr($_FILES['logo']['name'], '.');
if(!in_array($extension, $extensions)) {
$erreur = 'ERROR you must upload the right type';
}
if($taille>$taille_maxi) {
$erreur = 'too heavy';
}
if(!empty($erreur)) {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,如果用户想要编辑信息而不上传LOGO,则会引发错误:'错误您必须上传正确的类型'
因此,如果用户没有在输入框中放置任何内容以便上传它,我不想在这些条件下输入测试.
我测试过:
if (!empty($_FILES['logo']['name'])
和if (isset($_FILES['logo']['name'])
但两者似乎都不起作用.
有任何想法吗?
编辑:也许我不是那么清楚,我不想测试他是否上传了一个徽标,我想测试他选择了一个文件上传,因为现在,如果他没有选择要上传的文件, php引发错误,告诉他必须以正确的格式上传.
谢谢.